ADC1 有 19 個通道, ADC2 有 17 個外部通道和 2 個內部通道
ADC 掛在 APB2 總線,時鐘最快不超過
PF6 對應的是溫度器,對應的是 ADC1 的通道 18, PF7 對應的是光照度傳感器, 對應的是 ADC1 的通道 17
ADC1 地址范圍 0x4001 2400 - 0x4001 27FF 1KB ADC1
0x4002 0000 - 0x4002 03FF 1KB DMA1 , 發現 DMA1 無法正常訪問 SRAM1 的內存,但是 SRAM2 或者 TCM SRAM 卻是可以的
發現的問題
官方的 sdk 中的 adc 部分存在一個 BUG,當配置使用任意通道模式配置的通道超過 15 時就會出錯,diff 文件:
因為使用到了 ADC 的任意通道和 DMA,在使用 DMA 的時候發現,數據不能正常發送過去,但是在 openocd 查看這個地址是有數據的,用 printf 打印出來卻沒有變化,嘗試修改目的內存地址到 SRAM2(0x3001c000)或者 TCM SRAM(0x2000000) 卻可以正常顯示。感覺和編譯有關系一樣。沒有過多研究,
看下運行效果截圖
tshell>Sensor thermal&brightness value raw=435 369 Sensor thermal=32.89 convert_tmp=8 Brightness value=60lux Sensor thermal&brightness value raw=429 380 Sensor thermal=32.89 convert_tmp=8 Brightness value=70lux Sensor thermal&brightness value raw=385 347 Sensor thermal=29.61 convert_tmp=9 Brightness value=60lux Sensor thermal&brightness value raw=418 368 Sensor thermal=32.89 convert_tmp=8 Brightness value=60lux Sensor thermal&brightness value raw=403 372 Sensor thermal=29.61 convert_tmp=9 Brightness value=60lux
審核編輯:劉清
-
傳感器
+關注
關注
2553文章
51392瀏覽量
756593 -
adc
+關注
關注
99文章
6533瀏覽量
545757 -
SRAM控制器
+關注
關注
0文章
11瀏覽量
5916
發布評論請先 登錄
相關推薦
評論