找回密码
 立即注册
查看: 100|回复: 1

官方AiCube生成串口2框架 打印命令是什么?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2026-03-05 16:47:06
已绑定手机

5

主题

4

回帖

35

积分

新手上路

积分
35
发表于 2026-1-26 01:24:51 | 显示全部楼层 |阅读模式
用AiCube生成的串口2框架  主循环里如果选择串口打印 命令是什么?我看到引用的库里没有专门针对串口2的打印命令,还是说没有定义需要更复杂的方式?如果我想打印字符串 该如何操作?
  1. //<<AICUBE_USER_HEADER_REMARK_BEGIN>>
  2. ////////////////////////////////////////
  3. // 在此添加用户文件头说明信息  
  4. // 文件名称: main.c
  5. // 文件描述:
  6. // 文件版本: V1.0
  7. // 修改记录:
  8. //   1. (2026-01-26) 创建文件
  9. ////////////////////////////////////////
  10. //<<AICUBE_USER_HEADER_REMARK_END>>
  11. #include "config.h"                     //默认已包含stdio.h、intrins.h等头文件
  12. //<<AICUBE_USER_INCLUDE_BEGIN>>
  13. // 在此添加用户头文件包含  
  14. //<<AICUBE_USER_INCLUDE_END>>
  15. //<<AICUBE_USER_GLOBAL_DEFINE_BEGIN>>
  16. // 在此添加用户全局变量定义、用户宏定义以及函数声明  
  17. //<<AICUBE_USER_GLOBAL_DEFINE_END>>
  18. ////////////////////////////////////////
  19. // 项目主函数
  20. // 入口参数: 无
  21. // 函数返回: 无
  22. ////////////////////////////////////////
  23. void main(void)
  24. {
  25.     //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
  26.     // 在此添加用户主函数初始化代码  
  27.     //<<AICUBE_USER_MAIN_INITIAL_END>>
  28.     SYS_Init();
  29.     //<<AICUBE_USER_MAIN_CODE_BEGIN>>
  30.     // 在此添加主函数中运行一次的用户代码  
  31.     //<<AICUBE_USER_MAIN_CODE_END>>
  32.     while (1)
  33.     {
  34.         //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
  35.         // 在此添加主函数中用户主循环代码  
  36.         //<<AICUBE_USER_MAIN_LOOP_END>>
  37.     }
  38. }
  39. ////////////////////////////////////////
  40. // 系统初始化函数
  41. // 入口参数: 无
  42. // 函数返回: 无
  43. ////////////////////////////////////////
  44. void SYS_Init(void)
  45. {
  46.     EnableAccessXFR();                  //使能访问扩展XFR
  47.     IAP_SetTimeBase();                  //设置IAP等待参数,产生1us时基
  48.     //<<AICUBE_USER_PREINITIAL_CODE_BEGIN>>
  49.     // 在此添加用户预初始化代码  
  50.     //<<AICUBE_USER_PREINITIAL_CODE_END>>
  51.     PORT1_Init();                       //P1口初始化
  52.     UART2_Init();                       //串口2初始化
  53.     //<<AICUBE_USER_INITIAL_CODE_BEGIN>>
  54.     // 在此添加用户初始化代码  
  55.     //<<AICUBE_USER_INITIAL_CODE_END>>
  56. }
  57. ////////////////////////////////////////
  58. // 微秒延时函数
  59. // 入口参数: us (设置延时的微秒值)
  60. // 函数返回: 无
  61. ////////////////////////////////////////
  62. void delay_us(uint16_t us)
  63. {
  64.     do
  65.     {
  66.         NOP(14);                        //(MAIN_Fosc + 500000) / 1000000 - 10
  67.     } while (--us);
  68. }
  69. ////////////////////////////////////////
  70. // 毫秒延时函数
  71. // 入口参数: ms (设置延时的毫秒值)
  72. // 函数返回: 无
  73. ////////////////////////////////////////
  74. void delay_ms(uint16_t ms)
  75. {
  76.     uint16_t i;
  77.     do
  78.     {
  79.         i = MAIN_Fosc / 10000;
  80.         while (--i);
  81.     } while (--ms);
  82. }
  83. ////////////////////////////////////////
  84. // P1口初始化函数
  85. // 入口参数: 无
  86. // 函数返回: 无
  87. ////////////////////////////////////////
  88. void PORT1_Init(void)
  89. {
  90.     SetP1nInitLevelHigh(PIN_ALL);       //设置P1初始化电平
  91.     SetP1nQuasiMode(PIN_ALL);           //设置P1为准双向口模式
  92.     DisableP1nPullUp(PIN_ALL);          //关闭P1内部上拉电阻
  93.     DisableP1nSchmitt(PIN_ALL);         //使能P1施密特触发
  94.     SetP1nSlewRateNormal(PIN_ALL);      //设置P1一般翻转速度
  95.     SetP1nDrivingNormal(PIN_ALL);       //设置P1一般驱动能力
  96.     SetP1nDigitalInput(PIN_ALL);        //使能P1数字信号输入功能
  97.     //<<AICUBE_USER_PORT1_INITIAL_BEGIN>>
  98.     // 在此添加用户初始化代码  
  99.     //<<AICUBE_USER_PORT1_INITIAL_END>>
  100. }
  101. ////////////////////////////////////////
  102. // 串口2初始化函数
  103. // 入口参数: 无
  104. // 函数返回: 无
  105. ////////////////////////////////////////
  106. void UART2_Init(void)
  107. {
  108. #ifdef BAUDRATE
  109. #undef BAUDRATE
  110. #endif
  111. #define BAUDRATE                (9600)
  112. #define T2_RELOAD               (65536 - (SYSCLK / BAUDRATE + 2) / 4)
  113.     UART2_SwitchP1011();                //设置串口数据端口: RxD2 (P1.0), TxD2 (P1.1)
  114. //  UART2_Timer2BRT();                  //串口2固定选择定时器2作为波特率发生器
  115.     TIMER2_TimerMode();                 //设置定时器2为定时模式
  116.     TIMER2_1TMode();                    //设置定时器2为1T模式
  117.     TIMER2_SetPrescale(0);              //设置定时器2的8位预分频
  118.     TIMER2_SetReload16(T2_RELOAD);      //设置定时器2的16位重载值
  119.     TIMER2_Run();                       //定时器2开始运行
  120.     UART2_EnableRx();                   //使能串口2接收数据
  121.     UART2_Mode0();                      //设置串口2为模式0 (8位数据可变波特率)
  122.     //<<AICUBE_USER_UART2_INITIAL_BEGIN>>
  123.     // 在此添加用户初始化代码  
  124.     //<<AICUBE_USER_UART2_INITIAL_END>>
  125. }
  126. //<<AICUBE_USER_FUNCTION_IMPLEMENT_BEGIN>>
  127. // 在此添加用户函数实现代码  
  128. //<<AICUBE_USER_FUNCTION_IMPLEMENT_END>>
复制代码


回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

积分
13791
发表于 2026-1-26 11:07:12 | 显示全部楼层
截图202601261107043456.jpg
截图202601261105469558.jpg
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-22 03:28 , Processed in 0.110133 second(s), 50 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表