|
我想用proteus仿真stm32的ADC功能(中斷),但是之前解決的串口問題又來了,什么也不顯示。之前還有一個(gè)問題是,顯示的時(shí)候只顯示整數(shù),電壓值是分?jǐn)?shù)的統(tǒng)統(tǒng)不顯示,百思不得其解,向各位大佬求助
單通道(中斷讀。.zip
(402.67 KB, 下載次數(shù): 104)
2020-3-3 16:44 上傳
點(diǎn)擊文件名下載附件
ADC串口
單片機(jī)源程序如下:
- #include "stm32f10x.h"
- #include "bsp_usart.h"
- #include "bsp_adc.h"
- #include "bsp_rccclkconfig.h"
- extern __IO uint16_t ADC_ConvertedValue;
- // 局部變量,用于保存轉(zhuǎn)換計(jì)算后的電壓值
- float ADC_ConvertedValueLocal;
- // 軟件延時(shí)
- void Delay(__IO uint32_t nCount)
- {
- for(; nCount != 0; nCount--);
- }
- /**
- * @brief 主函數(shù)
- * @param 無
- * @retval 無
- */
- int main(void)
- {
- //HSE_SetSysClk( RCC_PLLMul_9 );
- HSI_SetSysClk( RCC_PLLMul_14 );
-
- MCO_GPIO_Config();
- RCC_MCOConfig(RCC_MCO_SYSCLK);
- // 配置串口
- USART_Config();
-
- // ADC 初始化
- ADCx_Init();
-
- printf("\r\n ----這是一個(gè)ADC單通道中斷讀取實(shí)驗(yàn)----\r\n");
-
- while (1)
- {
- ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3;
-
- printf("\r\n The current AD value = 0x%04X \r\n",
- ADC_ConvertedValue);
- printf("\r\n The current AD value = %f V \r\n",
- ADC_ConvertedValueLocal);
- printf("\r\n\r\n");
- Delay(10000);
- }
- }
- /*********************************************END OF FILE**********************/
復(fù)制代碼
|
|