คำถามติดแท็ก c

2
การระบุที่อยู่ I / O ของหน่วยความจำทำงานอย่างไร
การระบุที่อยู่ I / O ของหน่วยความจำทำงานอย่างไร ฉันกำลังพยายามที่จะเข้าใจตัวอย่างที่ให้มาI2S: ทุกคนทำงานได้หรือไม่ . การกำหนดค่านาฬิกา: #define BCM2708_PERI_BASE 0x20000000 #define CLOCK_BASE (BCM2708_PERI_BASE + 0x101000) /* Clocks */ ก่อนจะจับคู่รหัสอย่างนั้น ... clk_map = (unsigned char *)mmap( (caddr_t)clk_mem, MAP_BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, CLOCK_BASE ); ถ้าอย่างนั้นมันก็ทำอะไร ... // Always use volatile pointer! clk = (volatile unsigned *)clk_map; และเมื่อมีการอ้างอิงจะมีส่วนเพิ่มเติมแปลก ๆ ของ 0x26 …
29 memory  c 

1
ฉันจะตรวจสอบว่าฉันรวบรวม Raspberry Pi ได้อย่างไร
ในฐานะที่เป็น Raspberry Pi ต้องการรหัสพิเศษเล็กน้อย (ฉันกำลังพูดถึงC/C++) สำหรับการเข้าถึงคุณสมบัติฮาร์ดแวร์บางอย่าง (เช่นการเรียกbcm_host_init()) ฉันกำลังมองหาวิธีที่เชื่อถือได้และสง่างามในการตรวจจับสิ่งนี้โดยอัตโนมัติ ฉันไม่คิดว่าจะมีคอมไพเลอร์ใด ๆ#definesเช่น_WIN32ฉันสามารถละเมิดดังนั้นการตรวจสอบจากCMake(ซึ่งสามารถรันเชลล์สคริปต์) จะพอเพียง ฉันต้องการวิธีการในการทำงานมากที่สุดถ้าไม่ใช่ distros ทั้งหมด วิธีการหนึ่งที่ฉันสามารถคิดคือว่าผมจะมองหาเช่น/opt/vc/include/bcm_host.hไฟล์ (ซึ่งไม่ยาก) และยังตรวจสอบว่าสถาปัตยกรรม ARM (ซึ่งเป็นเรื่องง่ายที่รวบรวมเวลาที่มี#defineแมโครที่เช่น__arm__ของ__ARMEL__) การตรวจสอบส่วนโค้งพิเศษนี้เป็นการป้องกันการปลอมบวกเมื่อคุณมีสภาพแวดล้อมการคอมไพล์ข้ามบนเครื่องอื่น แต่ปัจจุบันยังไม่ได้ทำการคอมไพล์ข้าม มีวิธีอื่นที่ดีกว่านี้ไหม?

4
แฟล็ก CPU ใดที่เหมาะสำหรับ gcc ใน Raspberry Pi
gcc รับแฟล็ก -mcpu = (หรือ -march =) เพื่อสร้างรหัสที่เหมาะสำหรับประเภท CPU เฉพาะ มีหลากหลายแขนมากมายและเป้าหมาย gcc Arm ยังมี FPU หลายประเภท -mcpu = / - march = flags และ -mfpu = flag ใดที่เหมาะสม / native ที่จะใช้เมื่อรวบรวมรหัส C บน Raspberry Pi?

5
เขียนระบบปฏิบัติการสำหรับ Raspberry Pi ใน C
ฉันพบบทเรียนการทำขนมอบแต่พวกเขาใช้ภาษาแอสเซมบลีเท่านั้น ฉันติดตามบทเรียนแรก แต่ฉันก็สงสัยว่าจะใช้ C แทนได้อย่างไร ฉันหมายความว่ามีเหตุผลที่พวกเขาคิดค้นภาษาระดับสูงกว่า ฉันพยายามรวบรวมรหัส C กับ.oไฟล์object ( ) โดยรวบรวม .section .init .globl _start _start: bl main loop$: b loop$ ไปยังไฟล์อ็อบเจ็กต์อื่นและเชื่อมโยงเข้าด้วยกันและเพื่อให้ได้kernel.imgมา จากนั้นฉันก็เปลี่ยนเคอร์เนลที่มีอยู่แล้วด้วยตัวเอง แต่มันไม่ได้รันโค้ด C รหัส C ที่ฉันเขียนควรเปิด OK LED แล้วกลับมา (จากนั้นมาloop$: b loop$) แต่ไฟ LED ตกลงจะกะพริบแบบสุ่มสองสามครั้งจากนั้นก็ปิดอยู่ นี่คือรหัส C ของฉัน: int main(int argc, char ** argv) { volatile unsigned …

3
ฉันสามารถเขียนโปรแกรม C ภายใน IDE ที่ดีบนคอมพิวเตอร์เดสก์ท็อปสำหรับ RPi ได้หรือไม่
ฉันมาจากพื้นหลังการพัฒนา Microsoft Windows ฉันมีความสุขกับคุณสมบัติ IntelliSense และการนำทางโค้ดเป็นไปได้หรือไม่ที่ฉันจะติดตั้ง IDE เช่น Eclipse [ฉันคิดว่ามันคงจะดีที่สุดถ้าฉันจะกระโดด และ dual-boot Linux] และทำการพัฒนาบนเดสก์ท็อปที่รวดเร็วและปรับใช้กับ Pi หรือไม่
13 c  ide 

3
กดปุ่มเพื่อรับเหตุการณ์มากเกินไป
ฉันกำลังเขียนเครื่องเล่น mp3 ที่เขียนข้อมูลไปยังจอแสดงผล LCD ฉันต้องการแปลงจากการใช้แป้นพิมพ์เป็นปุ่มกด แต่ฉันได้รับการกดปุ่มมากเกินไปอย่างต่อเนื่อง ฉันพยายามดึงขึ้นและลง / ขอบที่เพิ่มขึ้น แต่ฉันยังคงได้รับผลลัพธ์เดียวกัน มีใครรู้บ้างว่าเป็นปัญหาที่ทราบกันดีหรือฉันแค่ทำอะไรผิดพลาด? โอ้ฉันกำลังทำสิ่งนี้ทั้งหมดใน C โดยใช้ wiringPi
12 c 

2
รับอุณหภูมิของ PI โดยใช้ C
ฉันรู้ว่าคุณสามารถรับอุณหภูมิโดยใช้เครื่องมือvcgencmdแต่ฉันสงสัยว่ามี API ใดที่ฉันสามารถใช้ใน C เพื่อให้ได้อุณหภูมิโดยทางโปรแกรมโดยไม่ต้องอ่าน stdout ของ vcgencmd?
11 c  temperature 

2
เปิดและปิด LED ด้วยสวิตช์
ฉันพยายามเขียนรหัสเพื่อให้ LED เปิดเมื่อปิดและปิดเมื่อเปิดสวิตช์ปุ่มกดแบบสัมผัส ฉันเขียนสิ่งที่ฉันเชื่อว่าเป็นรหัสที่ถูกต้องกับห้องสมุด wiringPi แต่ฉันสามารถเปิดใช้งานได้เมื่อปิดเท่านั้นและไม่สามารถปิดใช้งานได้หลังจากนั้น ในกรณีที่หายากมากและหลังจากกดซ้ำหลายครั้งไฟ LED จะดับเมื่อเปิดใช้งานและฉันกดปุ่ม แต่ฉันแน่ใจว่านั่นไม่ใช่วิธีการทำงาน #include <wiringPi.h> int main (void) { wiringPiSetup (); pinMode (0, OUTPUT); pinMode (1, INPUT); digitalWrite (0, LOW); for(;;) { if(digitalRead (1) == LOW) { if(digitalRead (0) == HIGH) digitalWrite (0, LOW); else if(digitalRead (0) == LOW) digitalWrite (0, HIGH); } …
10 c 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.