历史上的今天
今天是:2025年04月11日(星期五)
2019年04月11日 | MSP430串口接收控制LED
2019-04-11 来源:eefocus
/**********************************************
*程序描述:单片机的P3.4、P3.5作为串口接收字符,将接受到的字符再发送出去
*并且根据接受到的字符‘1’‘2’‘3’‘4’分别点亮LED1、LED2、LED3、LED4
P2.0->LED1 ,P2.1->LED2, P2.2->LED3 ,P2.3->LED4
***********************************************/
#include
void usartInit(void); //串口初始化
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P2DIR |= BIT0+BIT1+BIT2+BIT3;
P2OUT |= BIT0+BIT1+BIT2+BIT3;
usartInit(); //初始化串口
while(1){
_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interrupt
while((UTCTL0&TXEPT)==0); //等待数据发送完毕
TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0
switch(RXBUF0){
case'1':P2OUT&=~BIT0;break; //打开LED1
case'2':P2OUT&=~BIT1;break; //打开LED2
case'3':P2OUT&=~BIT2;break; //打开LED3
case'4':P2OUT&=~BIT3;break; //打开LED4
default:P2OUT|=BIT0+BIT1+BIT2+BIT3;break; //熄灭所有的LED
}
}
}
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
LPM3_EXIT;
}
/****************************************************************************
*函数名: uartInit() /
*作用 :USART0的初始化配置,使用P3.4和P3.5,使用接收中断 /
*返回值:无 /
*参数 :无 /
*作者 :Zhenhua Liu /
*时间 :2017.11.02 /
*****************************************************************************/
void usartInit(){
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character
UTCTL0 |= SSEL0; // UCLK = ACLK
UBR00 = 0x03; // 32k/9600 - 3.41
UBR10 = 0x00; //
UMCTL0 = 0x4A; // Modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0; // Enable USART0 RX interrupt
}
上一篇:实验二:MSP430简单程序设计
下一篇:STM8 UART中断发,中断收
史海拾趣
|
从全球来看,无数技术专才选择在美国硅谷开创新的事业,众多风险投资机构则成为支撑他们发展的重要力量。多种因素作用之下,美国硅谷仍然是全球科技产业的“圣地”,散发着技术创新和成就梦想的夺目光环。 而在中国大陆来看,上海、北京和深圳等地 ...… 查看全部问答> |
|
为方便坛友下载,打包成一个附件,内容丰富,要求置顶或加精! 包括内容: pdf1、第二届ARM MCU研讨会 谭军 : 会议开幕,ARM使用领域 pdf2、TSB ARM MCU PR 090612 CN: TOSHIBA ARM内核微控制器 - TX03 和 TX09 介绍 pdf3、ST_ARM_MCU_Sem ...… 查看全部问答> |
|
自己重载的CButton,类,捕获OnLButtonUp和OnLButtonDown消息,实现点击时切换背景图片,发现点击之后,绘制完背景之后,按钮背景又回复为默认的无背景的(默认的颜色和问题)。在事件处理时,的确已经将背景画成图片,感觉好像系统的 ...… 查看全部问答> |
|
我们用SAMSUNG公司ARM芯片S3C2440设计的板子,硬件原理图参照了朗成公司的同款芯片开发板,加了个FPGA,FPGA以类似SRAM的方式挂在ARM的总线上,ARM可以寻址到FPGA,要求我写个驱动能够快速寻址FPGA,现在没有头绪,请问应该学习哪些知识完成开发?… 查看全部问答> |
|
在WINCE5.0下无法生成NK.nbo,后来在网上看到相关文章,才知道需要修改config.bib这个文件,需要添加如下参数: ROMSTART ROMWIDTH ROMSIZE ROMSIZE比较好理解,根据操作系统大小直接设定,可ROMSTART 和 ROMWIDTH 代表什么含义呢?如何给它们 ...… 查看全部问答> |
|
我用C#编制程序,参考别人的经验,使用CREATEFILE函数,有下面三个参数: private const uint GENERIC_READ = 0x80000000; private const uint GENERIC_WRITE = 0x40000000; private const int OPEN_EXISTING = 3; GENERIC_READ参数是只读, ...… 查看全部问答> |
|
我的程序:#include <reg52.h>unsigned int ms;unsigned char shumaguan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//sbit wei1=P2^4;sbit wei2=P2^5;sbit wei3=P2^6;sbit wei4=P2^7;void delay ( ...… 查看全部问答> |




