array(92) { [3475260]=> int(3475260) [3475672]=> int(3475672) [3475676]=> int(3475676) [3477084]=> int(3477084) [3477086]=> int(3477086) [3477436]=> int(3477436) [3479616]=> int(3479616) [3479618]=> int(3479618) [3479619]=> int(3479619) [3479620]=> int(3479620) [3479627]=> int(3479627) [3480015]=> int(3480015) [3480016]=> int(3480016) [3480017]=> int(3480017) [3480018]=> int(3480018) [3480021]=> int(3480021) [3480022]=> int(3480022) [3480023]=> int(3480023) [3480025]=> int(3480025) [3480028]=> int(3480028) [3480029]=> int(3480029) [3480030]=> int(3480030) [3480031]=> int(3480031) [3480032]=> int(3480032) [3480033]=> int(3480033) [3480034]=> int(3480034) [3480036]=> int(3480036) [3480038]=> int(3480038) [3480039]=> int(3480039) [3480040]=> int(3480040) [3480041]=> int(3480041) [3480042]=> int(3480042) [3480143]=> int(3480143) [3480144]=> int(3480144) [3480153]=> int(3480153) [3480154]=> int(3480154) [3480155]=> int(3480155) [3480157]=> int(3480157) [3480159]=> int(3480159) [3480161]=> int(3480161) [3480162]=> int(3480162) [3480163]=> int(3480163) [3480164]=> int(3480164) [3480166]=> int(3480166) [3480169]=> int(3480169) [3480171]=> int(3480171) [3480174]=> int(3480174) [3480175]=> int(3480175) [3480177]=> int(3480177) [3480178]=> int(3480178) [3480179]=> int(3480179) [3480180]=> int(3480180) [3480181]=> int(3480181) [3480183]=> int(3480183) [3478432]=> string(7) "3478432" [3480186]=> int(3480186) [3480187]=> int(3480187) [3480188]=> int(3480188) [3480190]=> int(3480190) [3480191]=> int(3480191) [3480192]=> int(3480192) [3480227]=> int(3480227) [3480228]=> int(3480228) [3480230]=> int(3480230) [3480231]=> int(3480231) [3480264]=> int(3480264) [3480267]=> int(3480267) [3480268]=> int(3480268) [3480269]=> int(3480269) [3480270]=> int(3480270) [3480271]=> int(3480271) [3480273]=> int(3480273) [3480278]=> int(3480278) [3480279]=> int(3480279) [3480280]=> int(3480280) [3480281]=> int(3480281) [3480282]=> int(3480282) [3480283]=> int(3480283) [3480284]=> int(3480284) [3480287]=> int(3480287) [3480288]=> int(3480288) [3480289]=> int(3480289) [3480290]=> int(3480290) [3480291]=> int(3480291) [3480292]=> int(3480292) [3480368]=> int(3480368) [3480369]=> int(3480369) [3480374]=> int(3480374) [3480375]=> int(3480375) [3480378]=> int(3480378) [3480398]=> int(3480398) [3480400]=> int(3480400) } 【赛元95F】+4.DIY拓展2:串口0数据收发测试 - 赛元MCU平台 - 21ic电子技术开发论坛

[应用方案] 【赛元95F】+4.DIY拓展2:串口0数据收发测试

[复制链接]
 楼主| 一路向北lm 发表于 2020-3-24 20:47 | 显示全部楼层 |阅读模式
焊接了三颗排针,连接到SC95F8617usart0引脚(P2.0 RXDP2.1 TXD,焊接完毕如下:
667805e7a018156b20.png

 楼主| 一路向北lm 发表于 2020-3-24 20:49 | 显示全部楼层
测试代码如下,(包括串口初始化、串口数据的收发)
  1. //uart.c 代码
  2. #include "bsp/uart.h"
  3. bit UartSendFlag = 0; //发送中断标志位
  4. bit UartReceiveFlag = 0; //接收中断标志位

  5. /*****************************************************
  6. *函数名称:void Uart_Init(uint Freq,unsigned long int baud)
  7. *函数功能:Uart中断初始化,选择Timer1作为波特率信号发生器
  8. *入口参数:Freq-主频,baud-波特率
  9. *出口参数:void
  10. *****************************************************/
  11. void Uart_Init(unsigned int Freq,unsigned long int baud)  
  12. {
  13.         P2CON &= 0xFC;   //TX/RX设置为输入带上拉
  14.         P2PH  |= 0x03;
  15.        
  16.         SCON  |= 0X50;   //设置通信方式为模式一,允许接收
  17.         TMCON |= 0X02;
  18.         TH1 = (Freq*1000000/baud)>>8;          //波特率为T1的溢出时间;
  19.         TL1 = Freq*1000000/baud;
  20.         TR1 = 0;
  21.         ET1 = 0;
  22.         EUART = 1;     //开启Uart中断
  23.         EA = 1;
  24. }

  25. /*****************************************************
  26. *函数名称:Uart_Send_Byte(unsigned char byte)
  27. *函数功能:串口发送一个字节函数
  28. *入口参数:unsigned char byte
  29. *出口参数:void
  30. *****************************************************/
  31. void Uart_Send_Byte(unsigned char byte)
  32. {
  33.   
  34.           SBUF = byte;
  35.                 while(!UartSendFlag);
  36.                 UartSendFlag = 0;
  37. }

  38. /*****************************************************
  39. *函数名称:void Uart_Send_String(unsigned char *str)
  40. *函数功能:串口发送字符串函数
  41. *入口参数:unsigned char *str
  42. *出口参数:void
  43. *****************************************************/
  44. void Uart_Send_String(unsigned char *str)
  45. {
  46.     while(*str)
  47.                 {
  48.                   Uart_Send_Byte(*str);
  49.                         str++;
  50.                 }
  51. }

  52. /*****************************************************
  53. *函数名称:void Uart_Recv_Date()
  54. *函数功能:串口接收数据处理函数
  55. *入口参数:void
  56. *出口参数:void
  57. *****************************************************/
  58. void Uart_Recv_Date()
  59. {
  60.         unsigned char Byte;
  61.   if(UartReceiveFlag == 1)
  62.         {
  63.            UartReceiveFlag = 0;
  64.                  Byte = SBUF;
  65.                  Uart_Send_Byte(Byte);
  66.         }
  67. }

  68. /*****************************************************
  69. *函数名称:void UartInt(void) interrupt 4
  70. *函数功能:Uart中断函数
  71. *入口参数:void
  72. *出口参数:void
  73. *****************************************************/
  74. void UartInt(void) interrupt 4
  75. {
  76.         if(TI)
  77.         {
  78.                 TI = 0;       
  79.                 UartSendFlag = 1;               
  80.         }
  81.         if(RI)
  82.         {
  83.                 RI = 0;       
  84.                 UartReceiveFlag = 1;
  85.         }       
  86. }


 楼主| 一路向北lm 发表于 2020-3-24 20:49 | 显示全部楼层
  1. /****************************************************************************/
  2. Uart.h代码

  3. #ifndef _UART_H
  4. #define _UART_H
  5. #include "H/SC95F861x_C.H"

  6. void Uart_Init(unsigned int Freq,unsigned long int baud);
  7. void Uart_Send_Byte(unsigned char byte);
  8. void Uart_Send_String(unsigned char *str);
  9. void Uart_Recv_Date(void);
  10. #endif


 楼主| 一路向北lm 发表于 2020-3-24 20:50 | 显示全部楼层
  1. //主函数
  2. void main(void)
  3. {
  4.         IO_Init();
  5.         Uart_Init(32,9600);
  6.         Uart_Send_String("\r\n串口初始化¯..............OK!\n");
  7.         while(1)
  8.         {
  9.                   Uart_Recv_Date();
  10.         }

  11. }


 楼主| 一路向北lm 发表于 2020-3-24 20:50 | 显示全部楼层
实验效果如下,可实现对USART0的数据收发。
347105e7a021517da6.png

您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

3837

帖子

81

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