//******************************************************************************
// HW UART(J4)!!!!!! 特别注意,板子上J4有2个跳线要竖放,设为HW UART模式
// 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 16MHz
// ACLK = n/a, MCLK = SMCLK = CALxxx_16MHZ = 16MHz
//
// MSP430G2xx3
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.2/UCA0TXD|------------>
// | | 9600 - 8N1
// | P1.1/UCA0RXD|<------------
//
// 修改http://jiwm.blog.163.com
//串口调试助手,下载地址:http://www.sudt.com/download/AccessPort137.zip
// Texas Instruments Inc.
// February 2011
// Built with IAR Embedded Workbench Version: 5.40
//******************************************************************************
#include "msp430g2553.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL1 = CALBC1_16MHZ; // Set DCO
DCOCTL = CALDCO_16MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2;
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 0x82; // 16MHz 9600 UCA0BRX=1666=0x0682
UCA0BR1 = 0x06; // 16MHz 9600
UCA0MCTL = UCBRS2 + UCBRS1; // Modulation UCBRSx = 6
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
}
// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}
关键字:MSP430G2553 测试程序 串口程序 USCI模式
引用地址:
MSP430G2553测试程序(串口程序,USCI模式)
推荐阅读最新更新时间:2024-03-16 15:05
PIC18F452+Proteus双机通信 串口通信 键盘更改波特率源程序
系统功能 1、实现双机之间的通信 (1)在主机上通过4*4键盘上的键值“1”“2”“3”设定波特率(2400、4800、9600),发给从机,两者正常通信; (2)从机将采集到的压力信号传到主机,主机通过LCD显示在第一行,我们可以观察到主机的LCD显示的数和从机的保持一致。 (3)主机通过获取按键“5”“6”“7”,改变从机的ADC采样率分别为“10s”“20s”“30s”,由于ADC采样率不易直接观察改变,可将采样率的值通过从机的三个不同颜色的小灯显示。 2、从机通过ADC采样获取压力传感器模拟输出端口的电压值,并将电压值转化为压力值,通过自身的LCD显示; 3、主机获得从机采集的压力值之后,和初始设定的压力值(我设置
[单片机]
AVR软件模拟串口程序
M48,8MHz 9600,1,8,1 输出:用定时器控制普通IO口输出位 输入:用外部中断+定时器,判断位的宽度 好几天没休息,利用闲暇写的,也没找到别人的参考程序,不过终于算是稳定了,其实还应该有很多其它的方法可以试一下,比如用PWM输出串行数据,用输入捕获接收数据,或定时查询,或用任意一个IO口中断,则每个引脚都有可能 现在还有些问题,全双工同时收发时发送偶尔出错,占用两个定时器有些浪费,以后再修改吧,最好加上各种波率 本程序为直接摘出部分,删了无关的部分,在此可能有些变量没用,或有段落遗漏,请谅 #include #include #include #include #define Sbit1()
[单片机]
MSP430 MSP432P401R 单片机 HDC1080 温湿度传感器程序 串口发送
步骤: 1 读取 Manufacturer_ID_value 和 Device_ID_value,看是不是数据手册中的数值 2 写入0X02寄存器配置,关闭加热器,设置温湿度sequence mode读取,14位精度 Configuration_1 0x1000 // Heater disabled, Temperature and Humidity are acquired in sequence, Temperature first., 14-bit resolution 3 读取0x00 和 0x01 的温湿度数值 4 依据手册中的公式转化为温湿度
[单片机]
ATMega8 Watchdog测试程序
#include avr/io.h #include avr/wdt.h #include avr/delay.h #define uchar unsigned char #define uint unsigned int #define SET_ LED PORTB&=0XFE //PB0接黄色发光管 #define CLR_LED PORTB|=0X01 //误差不会太大的延时1ms函数 void DelayMs(uint ms) { uint i; for(i=0;i ms;i++) _delay_loop_2(4 *250); } int main(void) { DDRB=_BV(PB0);
[单片机]
裸机系列——2440串口通信2程序代码
关于一些串口通信的知识已经在上一篇文章中做了总结,这里主要讲程序的问题。 首先是直接通信,即不使用 FIFO 和中断的通信 代码 #define GLOBAL_CLK 1 #include stdlib.h #include string.h #include def.h #include option.h #include 2440addr.h #include 2440lib.h #include 2440slib.h #include mmu.h #include profile.h #include memtest.h #define baud 115200 void led_port_init() {
[单片机]
电设工作小结之——MSP430G2553学习笔记——2
(四),ADC10 1,ADC10是十位的AD,在g2553上有A0~A7八个可以外接的AD通道,A10接到片上的温度传感器上,其他的通道都接在内部的VCC或GND上。因为是10为的AD所以计算公式如下: 2 ,ADC参考电压的选择:ADC的参考电压可以为: 由ADC控制寄存器0 ADC10CTL0控制。但是要提高ADC的精度的话,尽量不要用内部的参考电压,最好外接一个比较稳定的电压作为参考电压,因为内部的产生的参考电压不是特别稳定或精度不是特别的高。例如我在使用时遇到的情况如下: Vref设为2.5V 但实际的值大概为2.475V, 选择VCC VSS作为参考,用电压表测得大概为3.58V 还是不小的偏差的。
[单片机]
两机串口通讯程序
;=============两机串口通讯程序(主机)===================== ; ; 功 能: 使用串行中断,接收数据并显示 ; 硬件环境: 自制 单片机 实验板 ; 软件环境: 伟福 V3.20 ; Create date: 2004_07_26 ; First Modify: 2004_07_26 ; second Modify: ; Last Modify: 2004_07_26 ; Author: Sujiande ; ;===========预定义=================== LED0 EQU 40H ;预定义数码管 LED1 EQU 41H ;预定义数码管 LED2 EQU 42H ;预定义
[单片机]
基于WinCE6.0的LPC3250串口驱动程序开发
引 言 Windows CE是一个开放的、可升级、可裁减的32位实时嵌入式操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于工业控制、信息家电、移动通信、汽车电子、个人电子消费品等领域。最新版本Windows Em-bedded CE 6.0于2006年11月发布,其特点有:最大进程数量到32K,且每个进程有最大2 GB的虚拟内存空间;将关键的驱动程序、文件系统和图形界面管理器移到了内核中,大大减少了CPU在内核态和用户态间切换造成的性能损失等。 LPC3250是NXP半导体公司(由Philips公司成立)推出的带有矢量浮点协处理器的ARM926EJ-SCPU内核的微控制器。它具有丰富的外围接口,包括7个UART,其
[单片机]