中级会员
- 积分
- 272
- 威望
- 187
- 贡献
- 25
- 兑换币
- 0
- 注册时间
- 2009-2-26
- 在线时间
- 30 小时
|
我想用AD转换测试一下,然后把AD转换的结果通过串口发送到电脑上,不知道这样直接把ATD0DR0L的数据发送行不行??程序如下,望高手指点,在线等答案
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
/*-------串口初始化----------------------*/
void SciInit(){
SCI0BD=52;//9600,8M的总线频率
SCI0CR1=0; /*正常8位,无奇偶校验*/
SCI0CR2=0X2C; /*RIE=1,TE=1,RE=1fs发送接受中断允许*/
}
/*-------发射端程序----------------------*/
void SciTx(unsigned char text){
while (!(SCI0SR1&0x80)); /* wait for output buffer empty */
SCI0DRH=0;
SCI0DRL=text;
}
void main()
{
unsigned char ch;
SciInit();
ATD0CTL2=0XC0; //模块上电
ATD0CTL3=0X08; //1次转换为一个序列
ATD0CTL4=0X87; //设置转换精度为8位 ,,转换频率为2M
ATD0CTL5=0XA1; //扫描方式,通道是1,右对齐无符号,单通道采样,结果存入ATD0DR0 ,连续转换
ATD0DIEN=0X00;// 禁止数字输入
while(1)
{
while(!ATD0STAT1_CCF0); //等待转换完成
ch=ATD0DR0L
SciTx(ch);
}
} |
|