[DemoCode下载] ML51串口2的普通用法

[复制链接]
767|4
 楼主| 598330983 发表于 2019-9-29 23:34 | 显示全部楼层 |阅读模式
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/

  6. //***********************************************************************************************************
  7. //  Website: http://www.nuvoton.com
  8. //  E-Mail : MicroC-8bit@nuvoton.com
  9. //***********************************************************************************************************

  10. //***********************************************************************************************************
  11. //  File Function: ML51 simple GPIO toggle out demo code
  12. //***********************************************************************************************************

  13. #include "ML51.h"

  14. /**
  15. * [url=home.php?mod=space&uid=247401]@brief[/url]       UART2 TXD output demo
  16. * @param       None
  17. * [url=home.php?mod=space&uid=266161]@return[/url]      None
  18. * [url=home.php?mod=space&uid=1543424]@Details[/url]     conned UART2 and UART0 to loop check.
  19. */

  20. void main (void)
  21. {
  22. #if 0  /* UART2*/
  23.     unsigned char temp=0x30;
  24.      MFP_P21_UART2_TXD;
  25.     P21_QUASI_MODE;
  26.     UART_Open(24000000,UART2,115200);                /* Open UART2 use timer1 as baudrate generate and baud rate = 115200*/
  27.   
  28.      MFP_P30_UART0_RXD;
  29.     P30_QUASI_MODE;
  30.     UART_Open(24000000,UART0_Timer1,115200);        /* Open UART0 use timer1 as baudrate generate and baud rate = 115200 */
  31.   
  32.     while(1)
  33.     {
  34.       UART_Send_Data(UART2,temp);  
  35.       temp = UAR67T_Receive_Data(UART0);              /* connect P5.4 and P3.0 to check receive data from UART0. */
  36.       temp++;                                       /* loop out ascii code. */
  37.       Timer3_Delay(24000000,128,500,1000);
  38.     }
  39. #endif

  40. #if 1
  41.     /* UART2 lower power run mode*/
  42.         unsigned char temp=0x50;
  43.      MFP_P21_UART2_TXD;
  44.     P21_QUASI_MODE;
  45.    
  46.           set_SC0CR0_SCEN;         /* Enable SC module */
  47.           set_SC0CR1_UARTEN;       /* set as UART mode */
  48.           set_SC0CR1_CLKKEEP;      
  49.           clr_SC0CR0_CONSEL;       /* clr CONSEL and AUTOCEN*/
  50.           clr_SC0CR0_AUTOCEN;
  51.           SC0ETURD0 = 0x07;        /* define baud rate low byte */
  52.           SC0ETURD1 = 0x00;        /* define baud rate high byte */

  53.           set_SC0CR1_PBOFF;     //parity bit disable
  54.           SC0CR1&=0XCF;        //datalegth 8bit
  55.           set_SC0CR0_NSB;      //stop bit = 1bit
  56.   
  57.    
  58. //    SFRS =1;
  59. //    TA=0xAA;
  60. //    TA=0x55;
  61. //    LVRDIS = 0x5A;
  62. //    TA=0xAA;
  63. //    TA=0x55;
  64. //    LVRDIS = 0xA5;
  65. //    TA=0xAA;
  66. //    TA=0x55;
  67. //    PORDIS = 0x5A;
  68. //    TA=0xAA;
  69. //    TA=0x55;
  70. //    PORDIS = 0xA5;
  71.    
  72.     FsysSelect(FSYS_LIRC);
  73.     set_PCON_LPR;   
  74.     while(1)
  75.     {
  76.       UART_Send_Data(UART2,temp);  
  77. //      Timer0_Delay(38400,1,1000);
  78.     }
  79. #endif
  80. }



 楼主| 598330983 发表于 2019-9-29 23:35 | 显示全部楼层
这个例子是串口0接收,串口2发送的例子,仔细读读,会发现新唐的例子非常容易上手,然后用于自己的项目。
zhuotuzi 发表于 2019-10-8 00:05 | 显示全部楼层
发送和接收用了两个不同的串口。
xinpian101 发表于 2019-10-8 20:40 | 显示全部楼层
MFP_P21_UART2_TXD;
类似这种我去哪儿看
xinpian101 发表于 2019-10-8 21:07 | 显示全部楼层
使用库函数的延时比较准确,串口的配置使用例子的方法就行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

267

主题

5575

帖子

22

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