→ kdjf: + 是or, SPE/MSTR是你一開始include library時拿來用的 11/21 14:45
→ kdjf:00001111就變成一千一百一十一了... 11/21 14:46
→ kdjf:0b00001111是一個二進位數,十進裡的15 11/21 14:47
這裡我了解了,原來是在二進位時開頭必須加入的字! 感謝指引方向~
不過在SPE/MSTR這裡我還是不懂....
你的意思是一開始include的library裡就有預先定義好的嗎?
我剛看了一下程式碼一開始只有include SPI.h,
點進去看也沒看到 SPE, MSTR 或 SPSR, SPDR相關的定義....
※ 編輯: escorpion 來自: 140.109.112.200 (11/21 15:30)
→ alibuda174:SPSR在arduino/hardware/tools/avr/avr/include/avr裡 11/21 17:39
→ alibuda174:這些都是AVR微控制器的暫存器名稱 11/21 17:39
謝謝你的回答!
在進去那個資料夾點了幾個標頭檔還是沒發現那幾個字的定義後我放棄了.....冏
不過一結果來看我應該可以假設他們分別是6與4這兩個值,
並且被已經被定義在某處了吧?
再來是如果我想要寫01010000進SPSR,
可以直接寫成 : SPSR=B01010000就好嗎?
※ 編輯: escorpion 來自: 140.109.112.200 (11/21 22:37)
→ kikiqqp:1. SPCR、SPSR、SPDR所指定的暫存器位址寫在 iom8.h 11/22 10:18
→ kikiqqp:2. 你可以直接給予數值 11/22 10:18
→ kikiqqp:SPCR 11/22 10:20
→ kikiqqp:| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 11/22 10:20
→ kikiqqp:| SPIE | SPE | DORD | MSTR | CPOL | CPHA | SPR1 |SPR0 11/22 10:20
→ kikiqqp:SPIE - Enables the SPI interrupt when 1 11/22 10:21
→ kikiqqp:SPE - Enables the SPI when 1 11/22 10:21
→ kikiqqp:DORD - Sends data least Significant Bit First when 1, 11/22 10:21
→ kikiqqp:most Significant Bit first when 0 11/22 10:21
→ kikiqqp:MSTR - Sets the Arduino in master mode when 1, slave 11/22 10:22
→ kikiqqp:mode when 0 11/22 10:22
→ kikiqqp:CPOL - Sets the data clock to be idle when high if set 11/22 10:22
→ kikiqqp:to 1, idle when low if set to 0 11/22 10:22
→ kikiqqp:CPHA - Samples data on the falling edge of the data 11/22 10:22
→ kikiqqp:clock when 1, rising edge when 0 11/22 10:23
→ kikiqqp:SPR1 and SPR0 - Sets the SPI speed, 00 is fastest 11/22 10:23
→ kikiqqp:(4MHz) 11 is slowest (250KHz) 11/22 10:23
→ kikiqqp:以上宣告在 io2333.h 11/22 10:25
太感謝了!我剛剛終於在裡面找到了!
※ 編輯: escorpion 來自: 140.109.112.200 (11/22 12:49)