提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

在上文STM32F405VGT6  Cube 配置的基础上

建立任务函数 并调试了串口模块


一、学习USART相关的库函数 (通过F407 HAL库开发函数进行的学习)

1.在.c  的.h文件里面可以看到HAL库支持哪些函数

2.在FreeRTOS函数界面 引入了串口 .h 文件 不然没法使用句柄

二、使用步骤

1.USART任务函数编写

/* USER CODE BEGIN Header_StartDefaultTask */
/*** @brief  Function implementing the defaultTask thread.* @param  argument: Not used* @retval None*/
/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void const * argument)
{/* USER CODE BEGIN StartDefaultTask *//* Infinite loop */for(;;){uint8_t d[2];d[0]=0x00;while(1){         HAL_UART_Transmit(&huart1,d,1,1000);    HAL_Delay(1000);}}/* USER CODE END StartDefaultTask */
}/* USER CODE BEGIN Header_task_test_01 */
/**
* @brief Function implementing the task_test thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_task_test_01 */
void task_test_01(void const * argument)
{/* USER CODE BEGIN task_test_01 *//* Infinite loop */for(;;){uint8_t a[2];a[1]=0x44;a[0]=0x55;while(1){          HAL_UART_Transmit(&huart1,a,2,1000);    HAL_Delay(5000);}}/* USER CODE END task_test_01 */
}

2.引脚连接(下载 与 串口调试)

1.代码下载

由于购买的板子并没有USB串口接口,并且只支持SWD下载。因此借用MiniFLy的下载模块 。

观察实物PCB板正反面走线 和 PCB原理图 判断出如何连接,并且设置Debug 为JTAG SWD下载模式 进行了程序下载。

2.由于没有USB转串口 USB只有供电功能 因此 借用串口线先给F407探索者下载了串口收发程序 然后将F405与F407串口相连接, 将F405发送的数据通过F407再发送到电脑上 进行了调试

三、调试过程

1.在任务编写界面要引入头文件

2.当1任务优先级更高      任务都延时500时                 只会发送 00

低优先级任务延时200          只会发送 00

高优先级任务延时5000        只会发送 00

当优先级相同时

都延时500时                           都会发送

2任务延时200                                 都会发送

1任务延时5000  2任务延时200        都会发送   说明延时并不是阻塞

这里是因为默认任务的优先级一直最高 所以一直进入默认任务 产生了优先级高就阻塞了其他任务的错觉,实际上是每次退出后发现任务1优先级高(因为它并没有进去阻塞态 依旧是就绪态)所以又持续进入任务1了。

————————————————————————————————————————————————————————————————————————

这里理解错误: 因为使用的HAL 所以在优先级相同时都会各自执行,但是在优先级高时就只一直执行优先级高的任务所以只发送00。

osDelay属于CMSIS-RTOS的阶层,ARM CMSIS已经定义好了,由各RTOS具体实现。
FreeRTOS内部其实使用vTaskDelay来实现osDelay,其作用是让任务阻塞(注意是阻塞不是挂起,挂起必须显示调用vTaskSuspend()和vTaskResume()才能够实现),任务阻塞后,RTOS系统调用其它处于就绪状态的优先级最高的任务来执行。 os是us级的,vTaskDelay是ms级的,并且os和vTask都会引起任务切换
当然你也可以不用osDelay而直接使用vTaskDelay,但为了保持兼容性,建议还是用osDelay而不是vTaskDelay,其实其效果类似。
HAL_Delay一直不停的调用获取系统时间的函数,直到指定的时间流逝然后退出,故其占用了全部CPU时间。

3.需要延时应该对osDelay进行学习

差别在于延时时会进行任务切换,此任务进入阻塞态,任务调度器在延时结束前调度其他目前优先级高的任务。


总结

Cube平台STM32F405RGT6开发日志<FreeRTOS系统及串口调试>相关推荐

  1. 基于springboot+vue(thymeleaf)+mysql下的自创音乐网站平台--CrushMusic(开发日志七)

    中间隔了有一段时间,因为去学了一些其他东西,加上还有课程,今天专门用了大半天来写前台界面与登录注册的UI设计,网上的模板我都不太想用,我就用框架来自己搭建前台,我参考了三大音乐网站的首页设计,基本都是 ...

  2. 基于springboot+vue(thymeleaf)+mysql下的自创音乐网站平台--CrushMusic(开发日志十三)

    本次添加了鼠标移动到歌曲列表时相应位置出现播放键.添加进播放列表键.下载键.添加到歌单键,还实现了简单的评论功能,由于主要功能不是评论,所以没有写回复功能,后面也可以添加这个功能,毕竟博客系统写过. ...

  3. 基于springboot+vue(thymeleaf)+mysql下的自创音乐网站平台--CrushMusic(开发日志十四)--audio控件重写音乐播放

    本次花了很大精力去完成了播放界面,虽然歌词同步这里没完成,但后续还是可以完善的,这次我重写了audio控件,让audio是自己想要的样式,先看成果图.  这个界面参考的是酷狗音乐网页版的布局,感觉自己 ...

  4. Android BLE开发(一):串口调试

    由于之前做的蓝牙检测功能有点久远,没有做好备份.重新再做相类似工程时,有些遗漏,特意在此做总结. 一.Android端 二.蓝牙硬件设备 使用蓝牙模块为TI公司CC2541,CC dubugger,两 ...

  5. 大数据技术之Hadoop(十一)——网站流量日志数据分析系统

    目录 素材: 一.模块开发--数据预处理 1.分析预处理的数据 2.实现数据的预处理 (1)创建Maven项目,添加相关依赖 (2)创建JavaBean对象,封装日志记录 (3)创建MapReduce ...

  6. 日志分析系统分类有哪些_Java开发日志规范

    打印日志是一门艺术,但长期被开发同学所忽视.日志就像车辆保险,没人愿意为保险付钱,但是一旦出了问题都又想有保险可用.我们打印日志的时候都很随意,可是用的时候会吐槽各种 SB 包括自己!写好每一条日志吧 ...

  7. 大数据平台网站日志分析系统

    1:大数据平台网站日志分析系统,项目技术架构图: 2:大数据平台网站日志分析系统,流程图解析,整体流程如下: ETL即hive查询的sql; 但是,由于本案例的前提是处理海量数据,因而,流程中各环节所 ...

  8. python服务端开发调试日志系统_Python Django项目日志查询系统

    该项目适合中小型公司日志查询工作.大型公司可以使用elk等.该系统其实就是调用了absible命令去查日志,然后把输出的信息输到页面查看. 日志查询系统 维护手册 作者:陈土锋 日期:2020年6月1 ...

  9. 计算机毕业设计Java的创意项目众筹平台的设计与开发(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java的创意项目众筹平台的设计与开发(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java的创意项目众筹平台的设计与开发(源码+系统+mysql数据库+lw文档) 本源码技 ...

最新文章

  1. Scala编程入门---数组操作之数组转换
  2. SQL总结(快速参考)
  3. 用jekyll制作高大上的网站(二)——实际应用
  4. DIV+CSS基础教程
  5. 前端学习(2982):实现商品功能列表
  6. C语言深度解剖:关键字
  7. 火狐—火狐浏览器中的“HttpWatch”
  8. html网页url伪静态,静态、动态、伪静态三种URL表形式优缺点介绍
  9. python执行bat文件_让Python文件也可以当bat文件运行
  10. 使用python包scanpy读取单细胞h5ad文件
  11. python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)...
  12. 交社保竟然还能领失业补助金,自己尝试去申请
  13. RSA非对称加密传输---前端加密解密(VUE项目)
  14. 2021深育杯MISC超详细WP
  15. [USACO 2017DEC] Greedy Gift Takers
  16. java 整数相除 小数点_java整数相除保留小数
  17. Python 与神奇的数学之汉诺塔
  18. 2016年7月编程语言排行榜
  19. 『网络安全』蜜罐到蜜网入门指南(一)蜜罐初识
  20. Be a part of making the world’s first people powered tablet

热门文章

  1. 傅里叶级数、傅里叶变换以及卷积定理——信号与系统小结(1)
  2. 2500+对2500+!两代经典巴顿血战闪龙
  3. 建议初创团队起初也要构建分布式应用
  4. 51单片机STC89C52点亮一个LED(IO口的位操作)
  5. android蓝牙rssi计算距离,[转] 蓝牙RSSI计算距离
  6. Rust学习(1)[rand]Rng::gen_range在0.8版本改动与生成随机数
  7. 支招:二手房过户费用有哪些
  8. JavaScript权威指南(第6版)(中文版).pdf
  9. 2023秋招华为笔试常考题整理
  10. 【ACF和AMDF】基于ACF和AMDF合作算法的语音编码matlab仿真