微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm8的串口程序的相关问题,求指教

stm8的串口程序的相关问题,求指教

时间:10-02 整理:3721RD 点击:

int main(void)
{
   u8 len ;
  /* Infinite loop */
  
  /*设置内部时钟16M为主时钟*/

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIdiv1);
  /*!<Set High speed internal clock  */

   Uart_Init();
   __enable_interrupt();
  
   UART1_SendString("Open or close",\
             sizeof("Open or close"));
   
   
   Delay(0xffff);
   UART1_SendByte('\n');
   Delay(0xffff);
while (1)
   {
     
  
      if(UART_RX_NUM&0x80)
      {
        len=UART_RX_NUM&0x3f;/*得到此次接收到的数据长度*/
        UART1_SendString("You sent the messages is:",sizeof("You sent the messages is"));
        UART1_SendString(RxBuffer,len);
        UART1_SendByte('\n');
        UART_RX_NUM=0;
      }
    }

  
  
}
请问这对这个程序,我现在不想让他自动发送字符串,而是想要通过输入一个字符加以控制。例如,我想输入一个1,串口显示字符open,进而控制led的亮灭。请问我要怎么修改我的程序?
很急,求大神帮帮忙!

UART1_SendString("1-----Open ",   sizeof("1----Open"));
Delay(0xffff);
   UART1_SendByte('\n');
while (1)
   {
     
  
      if(UART_RX_DATA==“1”)
      {
         UART1_SendString("You sent the messages is:",sizeof("You sent the messages is"));
        UART1_SendString(RxBuffer,1);
        UART1_SendByte('\n');
        UART_RX_NUM=0;
      }
    }

求大神指点啊

这个的作用是做什么的呢?

应该接收后进行判别,然后才能回发open,同时控制led亮灭。

这个很简单的 ,自己想想               

我自己搞定了,多谢大家的帮助。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top