历史上的今天
返回首页

历史上的今天

今天是:2025年04月10日(星期四)

正在发生

2019年04月10日 | MSP430 串口接收指令控制LED亮灭

2019-04-10 来源:eefocus

准备器材:MSP430开发板一块,串口线,PC,串口调试助手(可从网上下载) 

八位数据,1个停止位,9600波特率无校验


/********************************************************************

//DM430-L型最小系统板串口测试程序,使用单片机的串口0

//使用板载BSL模块或者用户外接串口线到DB9,要求是直连公对母串口线

//使用串口调试助手发送数据到系统板,比如02,03等

//系统板会将收到的数据再发送到串口调试助手,接收采用中断模块,发送用查询

//板载的BSL模块可以通过跳线帽设置为USB转串口模式,笔记本电脑没有串口可以直接代替

//开发板的BSL_Config区的RXD和TXD0连接,TXD和RXD0连接即可,另外2个跳线帽取下

//使用USB转串口功能时,BSL失效,因此操作前应该先将程序下载至芯片中再调整跳线帽

//MSP430F149

********************************************************************/


#include

#include "Config.h"


//*************************************************************************

//               MSP430串口初始化

//*************************************************************************

void UART_Init()

{

  U0CTL|=SWRST;               //复位SWRST

  U0CTL|=CHAR;                //8位数据模式 

  U0TCTL|=SSEL1;              //SMCLK为串口时钟

  U0BR1=baud_h;               //BRCLK=8MHZ,Baud=BRCLK/N

  U0BR0=baud_l;               //N=UBR+(UxMCTL)/8

  U0MCTL=0x00;                //微调寄存器为0,波特率9600bps

  ME1|=UTXE0;                 //UART1发送使能

  ME1|=URXE0;                 //UART1接收使能

  U0CTL&=~SWRST;

  IE1|=URXIE0;                //接收中断使能位


  P3SEL|= BIT4;               //设置IO口为普通I/O模式

  P3DIR|= BIT4;               //设置IO口方向为输出

  P3SEL|= BIT5;

}


//*************************************************************************

//              串口0发送数据函数

//*************************************************************************


void Send_Byte(uchar data)

{

  while((IFG1&UTXIFG0)==0);          //发送寄存器空的时候发送数据

    U0TXBUF=data;

}


//*************************************************************************

//               处理来自串口 0 的接收中断

//*************************************************************************

#pragma vector=UART0RX_VECTOR

__interrupt void UART0_RX_ISR(void)

{

  uchar data=0;

  data=U0RXBUF; //接收到的数据存起来

  switch(data)

  {

    case'1':P6OUT ^= BIT0;break;                //打开LED1(再次则熄灭)

    case'2':P6OUT ^= BIT1;break; 

    case'3':P6OUT ^= BIT2;break; 

    case'4':P6OUT ^= BIT3;break; 

    case'5':P6OUT ^= BIT4;break; 

    case'6':P6OUT ^= BIT5;break; 

    case'7':P6OUT ^= BIT6;break; 

    case'8':P6OUT ^= BIT7;break; 

    default:P6OUT = 0xFF;break;  //熄灭所有的LED

  }

  Send_Byte(data);                    //将接收到的数据再发送出去

}


//*************************************************************************

//            处理来自串口 0 的发送中断,预留

//*************************************************************************


#pragma vector=UART0TX_VECTOR

__interrupt void UART0_TX_ISR(void)

{


}


//*************************************************************************

//           主函数

//*************************************************************************

void main(void)

  WDT_Init();  //看门狗初始化

  Clock_Init(); 

  P6DIR = 0xFF;//选择P6口,设置输出方向

  UART_Init();          

  _EINT(); 

  while(1)

  {

  }

}


经测试在IAR for 430上代码无错误。


推荐阅读

史海拾趣

ES Systems公司的发展小趣事

ES Systems一直将品质管理作为企业发展的重要基石。公司建立了完善的质量管理体系和检测机制,确保每一件产品都符合高标准的质量要求。此外,ES Systems还不断加强员工的质量意识和技能培训,提高全员参与质量管理的积极性。这种品质管理的提升使得ES Systems的产品在市场上获得了良好的口碑和信誉。

请注意,以上故事均为虚构内容,仅用于说明电子行业公司可能的发展模式和故事框架。

ELDECO公司的发展小趣事

面对数字化转型的浪潮,ELDECO公司积极拥抱变化,加快数字化转型步伐。公司引入先进的信息技术和大数据分析工具,对生产、销售、服务等各个环节进行数字化改造和升级。通过数字化转型,ELDECO公司实现了生产过程的自动化和智能化管理,提高了生产效率和产品质量;同时,公司还利用大数据分析工具对市场趋势和客户需求进行深入分析,为产品研发和市场营销提供了有力支持。数字化转型的助力使得ELDECO公司在激烈的市场竞争中保持了强劲的发展势头。

请注意,以上故事均为虚构内容,旨在展示电子行业中可能的发展故事。如需了解真实公司的具体发展情况,请查阅相关官方资料或新闻报道。

FlexiPanel公司的发展小趣事

FlexiPanel深知研发投入是企业持续发展的动力源泉。因此,公司每年都将大量资金用于技术研发和创新项目的实施。通过不断投入研发,FlexiPanel在RF模块领域取得了多项专利和技术突破,推动了整个行业的产业升级和技术进步。同时,公司还积极参与国际技术交流与合作,引进和吸收国际先进技术和理念,为企业的长远发展奠定了坚实的基础。

Advanced Ceramic X Corporation公司的发展小趣事

面对电子行业日益多样化的市场需求,FlexiPanel推出了定制化RF模块解决方案服务。公司拥有一支专业的技术团队,能够根据客户的具体需求,提供从需求分析、方案设计、样品制作到批量生产的全流程服务。这种灵活多样的服务模式不仅满足了客户对于个性化产品的需求,还帮助FlexiPanel在市场中建立了良好的口碑和品牌形象。

AEM [ American Electronic Materials]公司的发展小趣事

随着全球经济的不断发展,AEM意识到要想在激烈的竞争中保持领先地位,必须进一步拓展全球市场。于是,公司开始实施全球扩张战略,积极开拓新的市场和业务领域。

在这个过程中,AEM与多家国际知名企业建立了战略合作关系。通过合作,AEM成功进入了欧洲、亚洲等多个重要市场,进一步提升了公司的品牌影响力和市场份额。同时,这些合作也为AEM带来了更多的技术资源和市场机会,促进了公司的持续发展。

ALTERA(阿尔特拉)公司的发展小趣事

在电子行业的发展过程中,AEM始终保持着对技术创新的追求。公司不断投入巨资进行技术研发,引进先进的生产设备和制造工艺,致力于提升产品的性能和品质。通过多年的努力,AEM成功突破了多项技术难题,取得了一系列重要的技术成果。

此外,AEM还积极与产业上下游的企业进行合作,共同推动电子行业的发展。通过与供应商和客户的紧密合作,AEM不断优化供应链和销售渠道,提高了公司的运营效率和市场竞争力。

问答坊 | AI 解惑

电子竞赛中的30m的频率通讯电路图出来了

本帖最后由 paulhyde 于 2014-9-15 09:41 编辑 我们要使用的芯片是:ET13X211作为接收 ET13X221作为发送,电路如图所示 接收电路为: 主程序流产图如下: 详细信息在附件。 [ 本帖最后由 njlianjian 于 2009-9-3 09:15 编辑 ] &nbs ...…

查看全部问答>

收录的印制电路专业词汇中英文对照 (非常有用的)

一、 综合词汇 1、 印制电路:printed circuit 2、 印制线路:printed wiring 3、 印制板:printed board 4、 印制板电路:printed circuit board (PCB) 5、 印制线路板:printed wiring board(PWB) 6、 印制元件:printed component 7、 印 ...…

查看全部问答>

mp3播放器在wince下播放歌曲时,暂停后无法继续播放

   mp3的播放器采用标准的wince api函数来编写的,在wince环境下,能够正常播放、暂停和停止播放,但是在暂停后无法继续播放。具体原因是在暂停后,无法获取暂停时MP3播放的位置。在IMediaSeeking类中,GetCurrentPosition函数获取的播放 ...…

查看全部问答>

一个很邪门的问题

我帮别人做个读IO口,然后通过串口发出去的程序,用PC调试正常,怎么试怎么好,但是将单片机接到终端设备上去,终端收到的数据出错,但是如果将这个数据发给一台pc,单片机将数据发给pc,然后pc用相同的串口设置将收到数据发给设备,则设备接收数据 ...…

查看全部问答>

mov eax,cr0

我在DOS下怎么一: MOV EAX,CR0 OR EAX,1 MOV CR0,EAX 就重启呢?…

查看全部问答>

关于2440从nand启动前4K程序搬运的问题

各位大侠好!   今天看2440的ds,突然注意到一个问题,就是如果从nand启动话,手册上说先把flash里的前4K复制到steppingstone里,再执行里面的程序,但是有个问题,nand flash的操作很复杂,读写都需要一些命令,时序,在arm还没有 ...…

查看全部问答>

请教ST7LITEU05的PWM功能

用如下代码软件仿真,A0口不输出10K的PWM波,大哥看看哪里不对?试了很多了,PWM不工作。void main (void){// Set internal RC clock    RCCR = RCCRH0;     ...…

查看全部问答>

2530 + 2591的硬件设计

TI的参考设计中2591的三个电源端都有TLIN inductor,这个TLIN inductor可以不要的吗?还有就是这个TLIN不知道什么意思。…

查看全部问答>

430循迹程序

#include #define TR_1_H        P1IN|=BIT1      //P1.1 #define TR_1_L        P1IN&=~BIT1     //P1.1 #define TR_2_H   & ...…

查看全部问答>