|
这是双通道AD转换器,可以设置两个通道同时采样!
MCU不停向PC机发送数据,显示AD7705采样值- /*****************************************************
- 程序功能:MCU不停向PC机发送数据,显示AD7705采样值 打开
- usr-TCP232能够以4位16进制显示 串口监视器只能以2位16进制显示
- ------------------------------------------------------
- 通信格式:9600 n 8 1 N:不进行奇偶校验
- ------------------------------------------------------
- 测试说明:打开串口调试精灵,正确设置通信格式,观察屏幕
- ******************************************************/
- #include "msp430x16x.h"
- #include "AD7705.h"
- #include "typedef.h"
- void PutString(uint *ptr);
- unsigned int Data1=0,Data2=0;
- void main()
- {
- // uint *tishi = " MCU sends 0~127 to PC and the\
- \n screen will display their corresponding\
- \n ASCII code as follows:";
-
- WDTCTL = WDTPW + WDTHOLD;
- BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器
- do
- {
- IFG1 &= ~OFIFG; //清除晶振失败标志
- for (unsigned int z = 0xFF; z > 0; z--); //等待8MHz晶体起振
- }
- while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
-
- BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
-
- BCSCTL2 |=DIVM_0+DIVS_0; //M S 均1分频
- BCSCTL1 |=DIVA_0; //A1分频
- CS_0;
- RST_1;
- P3SEL|=0X30; //00110000 P34TX P35RX作为外围原件UART端口(不是IO端口)
- ME1|=UTXE0+URXE0;//使能uart0收发端口
- UCTL0|=CHAR; //8位数据
- UTCTL0|=SSEL0; //SSEL0,SSEL1 0外部时钟 1ACLK 2SMCLK 3MCLK
- UBR10=0X00;
- UBR00=0X03; //32kHz/3`约等于9600 UBR00不小于3
- UMCTL0=0X4A;//微调波特率 将上述值调制9600
- UCTL0&=~SWRST;//使能USART模块
- IE1|=URXIE0;//使能USART0中断
- _EINT();//UART相关操作也是中断 故要使能全局中断
- // PutString(tishi);
-
- while(1)
- {
- AD7705_CH1init();
- wait();
- Data1=get_data_V();
- /*
- while(!(IFG1 & UTXIFG0));
- TXBUF0=Data1;
- while(!(IFG1 & UTXIFG0));
- TXBUF0=Data1>>8;
- */
-
- }
- }
- /*******************************************
- 函数名称:PutSting
- 功 能:向PC机发送字符串
- 参 数:无
- 返回值 :无
- ********************************************/
- void PutString(uint *ptr)
- {
- while(*ptr != '\0')
- {
- while (!(IFG1 & UTXIFG0)); // TX缓存空闲?
- TXBUF0 = *ptr++; // 发送数据
- }
- while (!(IFG1 & UTXIFG0));
- TXBUF0 = '\n';
- }
-
复制代码
|
|