当前位置: 代码迷 >> 单片机 >> stm8 AD程序 急该怎么处理
  详细解决方案

stm8 AD程序 急该怎么处理

热度:323   发布时间:2016-04-28 16:04:19.0
stm8 AD程序 急~~~!!!!
大家帮我看看这个程序有什么问题 它能通过编译 但是串口调试助手不显示接收数据 这是程序是 测模拟电压 然后通过AD转换 然后用串口发送 显示在PC上…… 





#include "stm8s.h"
#include "system.h"
#include "stm8s_uart2.h"
#include "stm8s_adc1.h"

u32 ReceiveData;
main()
{

UART2_Init(9600, UART2_WORDLENGTH_8D ,UART2_STOPBITS_1, UART2_PARITY_NO , UART2_SYNCMODE_CLOCK_DISABLE,UART2_MODE_TXRX_ENABLE );
ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS , ADC1_CHANNEL_7 ,ADC1_PRESSEL_FCPU_D2, ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT,ADC1_SCHMITTTRIG_CHANNEL1, DISABLE);

UART2_Cmd(ENABLE);


  while(1)
{  
ADC1_StartConversion();
  while((ADC1->CSR & 0x80 ) == 0x80)
{ ReceiveData=ADC1_GetConversionValue();
  UART2_SendData8(ReceiveData);

}
  }
  }
  



------解决方案--------------------
程序有问题吧?
改成
while(1)
{
ADC1_StartConversion();
while(!(ADC1->CSR & 0x80 ));//等待采样完成
ReceiveData=ADC1_GetConversionValue();
UART2_SendData8(ReceiveData);

}
试试