|
我想用proteus仿真stm32的ADC功能(中斷),但是之前解決的串口問題又來了,什么也不顯示。之前還有一個問題是,顯示的時候只顯示整數(shù),電壓值是分?jǐn)?shù)的統(tǒng)統(tǒng)不顯示,百思不得其解,向各位大佬求助
單通道(中斷讀取).zip
(402.67 KB, 下載次數(shù): 104)
2020-3-3 16:44 上傳
點擊文件名下載附件
ADC串口
單片機源程序如下:
- #include "stm32f10x.h"
- #include "bsp_usart.h"
- #include "bsp_adc.h"
- #include "bsp_rccclkconfig.h"
- extern __IO uint16_t ADC_ConvertedValue;
- // 局部變量,用于保存轉(zhuǎn)換計算后的電壓值
- float ADC_ConvertedValueLocal;
- // 軟件延時
- 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 ----這是一個ADC單通道中斷讀取實驗----\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ù)制代碼
Snipaste_2020-03-03_16-44-43.png (19.47 KB, 下載次數(shù): 73)
下載附件
2020-3-3 16:43 上傳
|
|