MSP430G2553 串口通信
//******************************************************************************
// MSP430G2xx3 Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK
//
// Description: Echo a received character, RX ISR used. Normal mode is LPM0.
// USCI_A0 RX interrupt triggers TX Echo.
// Baud rate divider with 1MHz = 1MHz/9600 = ~104.2
// ACLK = n/a, MCLK = SMCLK = CALxxx_1MHZ = 1MHz
//
// MSP430G2xx3
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.2/UCA0TXD|------------>
// | | 9600 - 8N1
// | P1.1/UCA0RXD|<------------
//
// D. Dang
// Texas Instruments Inc.
// February 2011
// Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include <msp430.h>
int main(void)
{WDTCTL = WDTPW + WDTHOLD; // Stop WDTif (CALBC1_1MHZ==0xFF) // If calibration constant erased{ while(1); // do not load, trap CPU!! }DCOCTL = 0; // Select lowest DCOx and MODx settingsBCSCTL1 = CALBC1_1MHZ; // Set DCODCOCTL = CALDCO_1MHZ;P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXDP1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXDUCA0CTL1 |= UCSSEL_2; // SMCLKUCA0BR0 = 104; // 1MHz 9600UCA0BR1 = 0; // 1MHz 9600UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt//_EINT();__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}
1:首先说一下 G2553串口需要注意的一些事项吧
if (CALBC1_1MHZ==0xFF) // If calibration constant erased{ while(1); // do not load, trap CPU!! }
作为新手的我们 在看到 CALBC1_1MHZ的时候 我们会很自然的认为他也是类似于BIT0一样的掩码 但是我们经过头文件的搜索后 发现并不是这样
READ_ONLY DEFC( CALDCO_1MHZ , CALDCO_1MHZ_)
如果有兴趣的话 可以仿真看一下 你的那两个时钟寄存器里面放的值是不是可以相应的DCO选择频率对应上 我看的如下图 3 7 刚好选择1MHZ的时钟 如下图:
新手一个 上面的叙述难免有错误之处 请各位原谅 欢迎讨论分享更好的学习资料 方法
MSP430G2553 串口通信相关推荐
- msp430g2553串口通信_软件串口
msp430g2553通过定时器A和软件代码配合可以形成串口,即软件串口.当然msp430g2553也有硬件串口,内部有自己完整的uart模块. 内部的uart参考:msp430g2533USCI_A ...
- msp430G2553串口通信_launchpad串口通信
MSP430G2553 单片机中集成了 USCI_A0功能模块,可以直接完成串口通信. 一.代码与仿真 TI官方例程中uart代码只有时钟,引脚,串口的初始化,不能直接串口收发,还需要增加发送函数和完 ...
- msp430g2553串口接受数据_MSP430G2553串口通信
MSP430的不同型号,其串行通讯工作模式是一样的.以MSP430G2553为例进行说明.MSP430G2553是20个引脚的16位单片机.具有内置的16位定时器.16k的FLASH和512B的RAM ...
- msp430g2553串口接受数据_详细解读:MSP430G2553单片机串口通信
MSP430的不同型号,其串行通讯工作模式是一样的.以MSP430G2553为例进行说明.MSP430G2553是20个引脚的16位单片机.具有内置的16位定时器.16k的FLASH和512B的RAM ...
- msp430g2553串口接受数据_msp430g2553串口通信教程
msp430g2553串口通信教程 MSP430g2553 串口通信MSP430 的不同型号,其串行通讯工作模式是一样的.以MSP430G2553 为例进行说明. MSP430G2553 是 20 个 ...
- python第三方库之学习pyserial库--串口通信
pyserial串口通信库 1.安装pyserial库 2.填写串口参数的注意事项 3.简单封装一下 4.碰到的bug 1.安装pyserial库 pip install pyserial versi ...
- VC串口通信编程-2
VC串口通信编程 (2009-07-08 13:48:40) 转载▼ Win32串口编程(转:韩耀旭) 在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信 ...
- Linux ROS与嵌入式的串口通信
1.根据ros wiki的官方教程 学习即可,并且有许多例子可供学习 http://wiki.ros.org/rosserial_arduino/Tutorials 2.用ASIO读写设备串行口 AS ...
- 投影串口测试程序_【原创】串口通信测试程序
源代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
最新文章
- 出现这四种情况,才是考虑分库分表的时候!
- nginx将9000端口转发映射至 8080
- [html] 写html代码时,如果缺少了结束标签,你如何检测及如何预防?
- python圆形_Python中的圆形范围
- 通俗的说这是一个一对多的例子,看看人家是怎么做的!
- 自定义UITabBar
- Truffle测试框架
- 用python画多来a梦-python3里tkinter中canvas(画板)案例之哆啦A梦
- Android 通过联系人姓名查询联系人号码
- 线性方程组迭代解法——雅可比(Jacobi)迭代法,Gauss-Seidel迭代法和超松弛(SOR)迭代法
- svn汉化插件安装步骤
- 证书错误:导航已阻止。此网站的安全证书有问题的解决办法
- 语言模型(Language Modeling)”
- 使用springboot往数据库中插入汉字报错
- 几款有意思的html游戏推荐(在线云玩+源码)
- #ps –ef_ps命令 – 显示进程状态
- MyEclipse 10 注册码 破解 到期限制
- 香港金融中心谁与争锋
- iOS网络NSURLSession使用详解
- storm mysql spout_storm kafkaSpout 踩坑问题记录! offset问题!