?? readme.txt
字號:
1設計要求
利用ADC的第14通道對開發板上單圈電位器的電壓值作AD轉換,采用連續轉換模式,轉換結果通過DMA通
道1讀取。ADC轉換的結果,每間隔1秒鐘向串口發送一次。
2 硬件電路設計
在評估板上通用I/O口PC.04與單圈電位器RV1相連,將PC.04映射到ADC第14通道,即可實現利用ADC_IN14
對電位器RV1電壓作AD轉換。
3軟件程序設計
根據設計任務要求,軟件程序主要包括:
(1) 配置GPIO口,將PC.04配置為ADC的第14采用通道;將配置GPIO中PA.09和PA.10根引腳為串口輸入輸出。
(2) 設置ADC,將ADC_IN14設置為連續轉換模式;
(3) 配置DMA通道1用于ADC_IN14傳輸轉換的結果;
(4) 配置串口及相關發送功能;
(5) 每隔1S向串口輸出AD轉換結果。
整個工程包含2個源文件:STM32F10x.s和main.c,其中STM32F10x.s為啟動代碼,其它函數則在main.c中。具體程序清單見參考程序。注意,在工程中仍然包含了stm32f10x_it.c文件,原因是在啟動代碼中定義中斷向量時使用了stm32f10x_it.c函數的定義函數名,如希望刪除stm32f10x_it.c則需在啟動代碼中刪除相應的中斷向量定義。
4 運行過程
(1) 使用Keil uVision3 通過ULINK 2仿真器連接實驗板,使用STM32V100評估板附帶的串口線,連接實驗板
上的UART0和PC機的串口,打開實驗例程目錄ADC_test子目錄下的ADC.Uv2例程,編譯鏈接工程;
(2) 在PC機上運行windows自帶的超級終端串口通信程序(波特率115200、1位停止位、無校驗位、無硬件流
控制);或者使用其它串口通信程序;
(3) 點擊MDK 的Debug菜單,點擊Start/Stop Debug Session;
(4) 旋轉電位器RV1,可以看到串口輸出數值不斷變化,正常顯示結果如下所示。
usart1 print AD_value --------------------------
The current AD value = 0x0425
The current AD value = 0x0423
The current AD value = 0x0421
The current AD value = 0x0422
The current AD value = 0x0420
The current AD value = 0x0416
The current AD value = 0x03B6
The current AD value = 0x0841
The current AD value = 0x08C3
The current AD value = 0x08C0
The current AD value = 0x08BE
The current AD value = 0x09E9
The current AD value = 0x0A12
The current AD value = 0x0ACA
The current AD value = 0x0B0D
The current AD value = 0x0B10
The current AD value = 0x0B0E
....
....
(5)若想通過ITM Viewer來觀測Printf數據,則需要加入#define DBG_ITM,并允許ITM跟蹤,
詳見RTX_Blinky例的說明。本例程中只要取消#define DBG_ITM前的注釋符號即可。
(6) 若無評估板,讀者也可以使用軟件仿真模式來完成程序運行。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -