完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
新建工程并进行基础硬件初始化,下边直接上图
选择,GENERATE CODE ,生成代码。在keil mdk中打开工程。 二、UART使用查询方式实现rx和tx 2.1 修改board.c 增加头文件 /** * 此功能将初始化您的板。 */ extern void SystemCoreClockUpdate(void); extern HAL_StatusTypeDef HAL_Init(void); 无效 rt_hw_board_init() { //为了和主播生成的代码动画,这里需要使用main.c中调用的两个函数 HAL_Init(); /* 系统时钟更新 */ SystemCoreClockUpdate(); MX_USART1_UART_Init(); /* 系统滴答配置 */ _SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND); /* 调用组件板初始值(使用 INIT_BOARD_EXPORT()) */ #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #万一 #if 已定义(RT_USING_USER_MAIN) && 已定义(RT_USING_HEAP) rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get()); #万一 } 2.2 修改uart.c 增加头文件的引用 /* 用户代码开始 0 */ #include /* 用户代码结束 0 */ 增加uart.h中添加两个函数的声明 /* 用户代码开始原型 */ 字符 rt_hw_console_getchar(void); void rt_hw_console_output(const char *str); /* 用户代码结束原型 */ 增加uart.h中增加了两个函数的实现在uart.c中 /* 用户代码开始 1 */ 字符 rt_hw_console_getchar(void) { int ch = -1; 如果 (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_RXNE) != RESET) { ch = huart1.Instance->DR & 0xff; } 别的 { if(__HAL_UART_GET_FLAG(&huart1, UART_FLAG_ORE) != RESET) { __HAL_UART_CLEAR_OREFLAG(&huart1); } rt_thread_mdelay(10); } 返回 ch; } void rt_hw_console_output(const char *str) { rt_size_t i = 0,大小 = 0; 字符 a = 'r'; __HAL_UNLOCK(&huart1); 大小 = rt_strlen(str); for (i = 0; i < 大小; i++) { 如果 (*(str + i) == 'n') { HAL_UART_Transmit(&huart1, (uint8_t *)&a, 1, 1); } HAL_UART_Transmit(&huart1, (uint8_t *)(str + i), 1, 1); } } /* 用户代码结束 1 */ 修改main.c,隐藏的:同时循环中必须添加rt_thread_delay(100)函数,否则FISH不会出现,无法显示。 /* 用户代码结束标题 */ /* 包括 ----------------------------------------------- -------------------*/ #include "main.h" #include "usart.h" #include "gpio.h" /* 私有包含---------------------------------------------- ------------*/ /* 用户代码开始包括 */ #include /* 用户代码结束包括 */ /* 私有 typedef ---------------------------------------------- -------------*/ /* 用户代码开始 PTD */ /* 用户代码结束 PTD */ /* 私有定义---------------------------------------------- --------------*/ /* 用户代码开始 PD */ /* 用户代码结束 PD */ /* 私有宏 ------------------------------- ---------------*/ /* 用户代码开始 PM */ /* 用户代码结束 PM */ /* 私有变量---------------------------------------------- -----------*/ /* 用户代码开始 PV */ /* 用户代码结束 PV */ /* 私有函数原型 --------------------------------------------- --*/ void SystemClock_Config(void); /* 用户代码开始 PFP */ /* 用户代码结束 PFP */ /* 私人用户代码 --------------------------------------------- ------------*/ /* 用户代码开始 0 */ /* 用户代码结束 0 */ /** * @brief 应用程序入口点。 * @retval 整数 */ int main(void) { /* 用户代码开始 1 */ /* 用户代码结束 1 */ /* MCU配置---------------------------------------------- ----------*/ /* 重置所有外设,初始化 Flash 接口和 Systick。*/ /* 用户代码开始初始化 */ /* 用户代码结束初始化 */ /* 配置系统时钟 */ SystemClock_Config(); /* 用户代码开始 SysInit */ /* 用户代码结束系统初始化 */ /* 初始化所有配置的外设 */ MX_GPIO_Init(); MX_USART1_UART_Init(); /* 用户代码开始 2 */ /* 用户代码结束 2 */ /* 无限循环 */ /* 用户代码开始时 */ 而 (1) { /* 用户代码结束时 */ /* 用户代码开始 3 */ rt_thread_mdelay(1000);//必须强制否决者FISH不显示 } /* 用户代码结束 3 */ } 使用腻子连接一个,FISH成功 界面后记 :在编译过程中出现如下所示:经在RT-螺纹官方技术交流群1里咨询,得到后来的支持,特别感谢黄洋界和杰克为我指点,最后黄洋界的方法是, 在工程栏上那个文件精美,该文件类型不是具体的 选择语言文件 |
|
|
|
只有小组成员才能发言,加入小组>>
669 浏览 0 评论
6211 浏览 1 评论
3844 浏览 7 评论
TIM3定时器输出PWM波控制LED灯的亮暗程度,PWM输出的高电平还有不同的值吗?
2396 浏览 11 评论
1743 浏览 5 评论
921浏览 9评论
1225浏览 8评论
4158浏览 6评论
642浏览 6评论
678浏览 6评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 粤ICP备14022951号 )
GMT+8, 2023-10-10 15:27 , Processed in 0.764037 second(s), Total 64, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:粤 B2-20160233 工商网监 湘ICP备2023018690号