完善资料让更多小伙伴认识你,还能领取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里咨询,得到后来的支持,特别感谢黄洋界和杰克为我指点,最后黄洋界的方法是, 在工程栏上那个文件精美,该文件类型不是具体的 选择语言文件 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1926浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
584浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 02:25 , Processed in 0.852828 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号