[STM8] STM8的AD程序

[复制链接]
2716|4
 楼主| jxmzzr 发表于 2013-5-12 21:59 | 显示全部楼层 |阅读模式
大家帮我看看这个程序有什么问题 它能通过编译 但是串口调试助手不显示接收数据   这是程序是 测模拟电压 然后通过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);

     }
        }
   }
huangfeng33 发表于 2013-5-13 17:31 | 显示全部楼层
看看串口中断服务程序写了吗?波特率设置是否正确?
cjhk 发表于 2013-5-13 19:55 | 显示全部楼层
串口的标志位需要及时清除   这个很重要  不知道你做了没有
拿起书本 发表于 2013-6-9 16:57 | 显示全部楼层
程序有问题吧?
改成
  while(1)
{   
  ADC1_StartConversion();
  while(!(ADC1->CSR & 0x80 ));//等待采样完成
  ReceiveData=ADC1_GetConversionValue();
  UART2_SendData8(ReceiveData);

}
试试
cjhk 发表于 2013-6-9 19:21 | 显示全部楼层
帮你顶一个   呵呵  应该问题不大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部