|
int main(void)
{
uint16_t usValue;
/*
由于ST固件庫(kù)的啟動(dòng)文件已經(jīng)執(zhí)行了CPU系統(tǒng)時(shí)鐘的初始化,所以不必再次重復(fù)配置系統(tǒng)時(shí)鐘。
啟動(dòng)文件配置了CPU主時(shí)鐘頻率、內(nèi)部Flash訪問(wèn)速度和可選的外部SRAM FSMC初始化。
系統(tǒng)時(shí)鐘缺省配置為72MHz,如果需要更改,可以修改:
\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
中配置系統(tǒng)時(shí)鐘的宏。
*/
InitBoard(); /* 為了是main函數(shù)看起來(lái)更簡(jiǎn)潔些,我們將硬件初始化的代碼封裝到這個(gè)函數(shù) */
PrintfLogo(); /* 打印例程Logo到串口1 */
printf("請(qǐng)調(diào)節(jié)開(kāi)發(fā)板上的精密可調(diào)電阻,觀察ADC采樣值的變化\r\n");
ADC_Configuration(); /* 配置PC4 為ADC1_IN14 */
bsp_StartTimer(1, 300); /* 定時(shí)器0周期 200毫秒 */
/* 進(jìn)入主程序循環(huán)體 */
while (1)
{
CPU_IDLE(); /* 這個(gè)宏在bsp_timer.h 中定義,目前定義為空。用戶可以修改這個(gè)宏實(shí)現(xiàn)CPU休眠和喂狗 */
if (bsp_CheckTimer(1)) /* 定時(shí)到 */
{
bsp_StartTimer(1, 300); /* 啟動(dòng)下個(gè)定時(shí)周期 */
usValue = GetADC();
/* 注意: 末尾只有 \r回車(chē), 沒(méi)有\(zhòng)n換行,可以使PC超級(jí)終端界面穩(wěn)定在1行顯示 */
{
/* 超級(jí)終端界面上會(huì)顯示一個(gè)不斷旋轉(zhuǎn)的字符
增加這個(gè)功能,是為了避免程序死機(jī)的假象,因?yàn)锳DC采樣值很穩(wěn)定
*/
static uint8_t pos = 0;
if (pos == 0)
printf("|");
else if (pos == 1)
printf("/");
else if (pos == 2)
printf("-");
else if (pos == 3)
printf("\\"); /* 注意:這個(gè)特殊字符需要轉(zhuǎn)義 */
if (++pos >= 4)
{
pos = 0;
}
printf(" PC4口線ADC采樣值 = %5d , 電壓 = %4dmV\r",
usValue, ((uint32_t)usValue * 3300) / 4095);
}
}
/* 這個(gè)地方可以插入 GetKey(), 擴(kuò)充對(duì)按鍵的響應(yīng)代碼 */
}
}
|
-
-
ADC采樣和濾波例程.7z
2020-8-14 14:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
210.84 KB, 下載次數(shù): 43, 下載積分: 黑幣 -5
stm32 內(nèi)部ADC采樣和濾波例程
|