[DemoCode下载] 通过串口控制灯的亮和灭

[复制链接]
1077|5
 楼主| 小明的同学 发表于 2020-7-28 00:05 | 显示全部楼层 |阅读模式
经过修改,该程序可以通过发送带ON字符的字符串打开LED,或者通过发送带OFF的字符串关闭LED,并通过串口获取当前LED状态


  1. #include "ML51.h"




  2. void main (void)
  3. {
  4.         unsigned char my[10];
  5.         unsigned char i=0;

  6.         MFP_P03_GPIO;
  7.         P03_PUSHPULL_MODE;
  8. /**
  9. For UART0 P0.5 asTXD output setting
  10. * include uart.c in Common Setting for UART0
  11. */
  12.         MFP_P31_UART0_TXD;                              /* set P3.1 and P3.0 as Quasi mode for UART0 trasnfer */
  13.         MFP_P30_UART0_RXD;
  14.         P31_QUASI_MODE;                                 
  15.         P30_QUASI_MODE;
  16.         UART_Open(24000000,UART0_Timer1,115200);      // Open UART0 use timer1 as baudrate generate and baud rate = 115200


  17. /**
  18.   UART0 loop test
  19.   UART0 TXD send data received by RXD pin. Connect TXD pin and RXD pin check result.
  20. */  
  21.         while(1)
  22.         {
  23.                 unsigned char temp;
  24.                 temp = UART_Receive_Data(UART0);
  25.                 UART_Send_Data(UART0,temp);
  26.                
  27.                 my[i++]=temp;
  28.                 if(i>=10)
  29.                 {

  30.                         ENABLE_UART0_PRINTF;
  31.                         printf ("\nHello\n");
  32.                         DISABLE_UART0_PRINTF;
  33.                         for(i=0;i<10;i++)
  34.                                 {
  35.                                         if(my[i]=='O')
  36.                                         {
  37.                                                 if(my[i+1]=='N')
  38.                                                 {
  39.                                                         P03=0;
  40.                                                         ENABLE_UART0_PRINTF;
  41.               printf ("\nLED is ON \n");
  42.               DISABLE_UART0_PRINTF;
  43.                                                 }
  44.                                                 else if(my[i+1]=='F')
  45.                                                 {
  46.                                                         if(my[i+2]=='F')
  47.                                                         {
  48.                                                                 P03=1;
  49.                                                         ENABLE_UART0_PRINTF;
  50.               printf ("\nLED is OFF \n");
  51.               DISABLE_UART0_PRINTF;                                                               
  52.                                                         }                                               
  53.                                                 }
  54.                                                
  55.                                         }                               
  56.                                 }
  57.                         i=0;
  58.                 }
  59.         }

  60. }





幸福小强 发表于 2020-7-28 11:41 | 显示全部楼层
多谢分享。看起来不错。
monitoring 发表于 2020-7-28 20:26 | 显示全部楼层
很不错 看到你的完善贴了
电子xiaocainiao 发表于 2020-7-28 20:58 | 显示全部楼层
支持下,楼主确实完善了代码,21ic的编辑器的原因吗?为什么空格缩进了那么多。
 楼主| 小明的同学 发表于 2020-7-29 15:35 | 显示全部楼层
monitoring 发表于 2020-7-28 20:26
很不错 看到你的完善贴了

不客气,我也是参考其他人发的帖。
 楼主| 小明的同学 发表于 2020-7-29 15:36 | 显示全部楼层
电子xiaocainiao 发表于 2020-7-28 20:58
支持下,楼主确实完善了代码,21ic的编辑器的原因吗?为什么空格缩进了那么多。 ...

专门那么缩进的啊,电脑全屏看就OK了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

1640

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部