打印
[STM8]

STM8的AD程序

[复制链接]
2504|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);

}
试试

使用特权

评论回复
5
cjhk| | 2013-6-9 19:21 | 只看该作者
帮你顶一个   呵呵  应该问题不大

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝