原创 CC2430基础实验——在PC上用串口控制LED

2009-9-20 17:59 3122 3 3 分类: MCU/ 嵌入式
这个实验是从串口向2430上发数,即可控制LED灯的亮灭,控制数据的格式为“灯编号 开|关 #”,红色LED编号为1,绿色LED编号为2,0是关灯,1是开灯。e.g.打开红色LED的命令是“11#”。

    //串口中断ISR


    #pragma vector = URX0_VECTOR
     __interrupt void UART0_ISR(void)
    {
      URX0IF = 0;    //清中断标志
      temp = U0DBUF;
    }


    还用到的函数:


    void Delay(uint);
    void initUARTtest(void);


    void Init_LED_IO(void);


    这个程序的串口部分使用的是中断的方式来进行数据的接收的,上面就是串口的中断服务子程序。其实这个程序重要的思想就是首先接收串口的数据,当接收到有结束符的时候(这个例子中是#)或者接收的字符数目超过3个的时候,认为收到一条命令。然后根据命令完成相应的标志位的设置并清空接受数组。可以说这是一个很简单的PC机控制2430的例子,以后真的可以通过这个程序来改成你的复杂的程序。下面我们就看一下这个程序的主程序部分,我觉得还是挺简单的,大家自己看看是能够看明白的。


   void main(void)
   { 
        uchar ii;


        Init_LED_IO();
        initUARTtest();


        while(1)
       {
          if(RTflag == 1)   //接收
          {
            if( temp != 0)
            {
                if((temp!='#')&&(datanumber<3))
                {                               //’#‘被定义为结束字符
                                                //最多能接收3个字符
                  Recdata[datanumber++] = temp;
                }
                else
                {
                  RTflag = 3;          

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条