ADC1 有 19 個(gè)通道, ADC2 有 17 個(gè)外部通道和 2 個(gè)內(nèi)部通道
ADC 掛在 APB2 總線,時(shí)鐘最快不超過
PF6 對(duì)應(yīng)的是溫度器,對(duì)應(yīng)的是 ADC1 的通道 18, PF7 對(duì)應(yīng)的是光照度傳感器, 對(duì)應(yīng)的是 ADC1 的通道 17
ADC1 地址范圍 0x4001 2400 - 0x4001 27FF 1KB ADC1
0x4002 0000 - 0x4002 03FF 1KB DMA1 , 發(fā)現(xiàn) DMA1 無法正常訪問 SRAM1 的內(nèi)存,但是 SRAM2 或者 TCM SRAM 卻是可以的
發(fā)現(xiàn)的問題
官方的 sdk 中的 adc 部分存在一個(gè) BUG,當(dāng)配置使用任意通道模式配置的通道超過 15 時(shí)就會(huì)出錯(cuò),diff 文件:
因?yàn)槭褂玫搅?ADC 的任意通道和 DMA,在使用 DMA 的時(shí)候發(fā)現(xiàn),數(shù)據(jù)不能正常發(fā)送過去,但是在 openocd 查看這個(gè)地址是有數(shù)據(jù)的,用 printf 打印出來卻沒有變化,嘗試修改目的內(nèi)存地址到 SRAM2(0x3001c000)或者 TCM SRAM(0x2000000) 卻可以正常顯示。感覺和編譯有關(guān)系一樣。沒有過多研究,
看下運(yùn)行效果截圖
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
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2541文章
49963瀏覽量
747543 -
adc
+關(guān)注
關(guān)注
97文章
6300瀏覽量
542460 -
SRAM控制器
+關(guān)注
關(guān)注
0文章
11瀏覽量
5880
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論