自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

弄潮儿的博客

专业的业余

  • 博客(39)
  • 资源 (16)
  • 收藏
  • 关注

原创 FreeRTOS学习笔记(四)—— 事件标志组&任务消息邮箱应用

待完善

2019-07-04 21:56:24 841

原创 FreeRTOS学习笔记(三)—— 信号量应用

信号量的概念及其作用信号量(semaphores)是20世纪60年代中期Edgser Dijkstra发明的。使用信号量的最初目的是为了给共享资源建立一个标志,该标志表示该共享资源被占用情况。这样,当一个任务在访问共享资源之前,就可以先对这个标志进行查询,从而在了解资源被占用的情况之后,再来决定自己的行为。 实际的应用中,信号量的作用又该如何体现呢?比如有个30人的电脑机房,我们就可以创建信号量...

2019-07-04 21:54:51 1751

原创 FreeRTOS学习笔记(二)——消息队列应用

6.3 消息队列cubemx配置freertos的消息队列消息队列的概念及其作用消息队列就是通过 RTOS 内核提供的服务,任务或中断服务子程序可以将一个消息(注意,FreeRTOS消息队列传递的是实际数据,并不是数据地址,RTX,uCOS-II 和 uCOS-III 是传递的地址)放入到队列。同样,一个或者多个任务可以通过 RTOS 内核服务从队列中得到消息。通常,先进入消息队列的消...

2019-07-04 09:19:41 3079

原创 FreeRTOS学习笔记(一)——基础知识体系

一、任务管理单任务系统(裸机)主要是采用超级循环系统(前后台系统),应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看做后台行为;中断服务程序处理异步事件,这部分可以看做是前台行为。后台也可以叫做任务级,前台也叫作中断级。前后台系统的编程思路有两种:轮询方式(实时性得不到保障,紧急与非紧急消息不能有效管理)、中断方式(可以保证一定的实时性,紧急消息可以得到响应)。...

2018-12-26 15:29:52 5593 6

原创 cJSON STM32F4移植

1. 下载cJSON源码2. 建立STM32工程3. 移植源文件4. 修改源文件修改malloc和free函数修改串口接收5. 测试{"test":{"id":"1","name":"jack","url":"www.zjrobot.com"}}

2021-08-25 10:14:15 822 2

原创 STM32 CAN 参数设置

这里以STM32F103为例已知:1. CAN1挂载在APB1时钟线上,查看时钟配置得到APB1的外设时钟为36M2. 目标波特率为 125k3. 采样率设置在80%-90%为佳,最佳为87.5%计算公式 波特率 = (APB1时钟频率)/(Prescaler *( SW1+BS1+BS2)) 采样点 = (1+BS1)/(1+BS1+BS2)可以看出最佳采样点设置规律BS1=7 BS2=1,这样采样点刚好为87.5%,但是往往事与愿违,这个时候得到的波特率不...

2021-01-31 13:48:05 3351

原创 QT5 基础一:编译输出可以执行文件

一、编译动态连接可执行文件Qt5编译后的可执行文件是不能直接双击运行的,会报缺号库文件错误,这里以我的IAP_GC.exe为例1. 首先将Qt编译的可执行文件拷贝出来放在单独的文件夹下2.选择qt自带的cmd命令行3. 使用windeployqt命令找到1中的文件夹QtTest,使用Qt自带的工具 windeployqt来运行可执行文件将所需的动态链接库拷贝进来拷贝完成,可以看到文件夹下多了很多文件,此时双击可执行文件即可运行程序二、编译静态连接可执行文.

2020-11-24 14:24:59 1453

转载 关于CubeMX的串口全双工接收发送锁死的问题

关于CubeMX的串口全双工接收发送锁死的问题https://blog.csdn.net/mickey35/article/details/74255041

2020-06-16 09:10:31 481

原创 STM32 F103串口同时收发出现死锁问题解决办法

一直使用F4系列,没有出现此类现象,也可能出现了没有发现。最近在做和研华工控机通讯时出现串口接收问题。总结如下:1. 使用DMA+空闲中断未出现串口同时收发死锁现象,但是由于研华某款工控机在与板子通信时,出现丢包现象工控机接收到板子发送数据正常,无丢包 工控机发送数据到板子,发送正常,接收总是显示校验不通过,不通过时只收到部分包。 板子与电脑通过串口工具相互发送数据,板子无丢包现象,串口工具无丢包现象。 工控机与电脑通过串口工具相互发送数据,工控机无丢包现象,串口工具无丢包现象。由于此.

2020-05-29 11:51:20 6382 3

原创 KEIL5 生成bin文件设置

选择程序C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output .\DxE_Stationary\DxE_Stationary.bin .\DxE_Stationary\DxE_Stationary.axf文件夹格式

2020-03-16 21:23:15 559

原创 CUBEMX配置LWIP的STM32工程下的网线热插拔功能配置

网上有很多基于自己移植lwip源码配置热插拔功能的实例,今天猛然发现,CUBEMX配置LWIP的STM32工程下的网线热插拔功能已经配置好了只需一步即可实现网线的热插拔。首先可以在lwip.c文件中看到函数MX_LWIP_Init(),在这个函数里看到这里很明确的说了这个回调函数在网络连接状态改变的时候会调用,既然已经说了,那我们只要在这个回调函数里做一些变化即可实现热插拔。进入回调函数...

2020-02-26 18:07:31 5331 20

原创 Source Insight4.0修改源文件目录为相对目录

Source Insight4.0修改源文件目录为相对目录方便复制工程Source Insight4.0版本2. 新建工程3.修改工程设置将上图的红色框图修改为下图4. 源文件添加5. 相对目录设置点击 菜单栏的 Project 然后选择 Project Settings,得到如下的界面再一次点击 菜单栏的 Project 然后...

2019-12-17 13:24:24 971

原创 ROS学习笔记(一)

待完

2019-07-05 14:26:06 478

原创 LWIP教程1——Cubemx 配置无操作系统下的LWIP初始化

文章目录LWIP教程1——Cubemx 配置无操作系统下的LWIP初始化1. 环境1.1 软件环境:1.2 硬件环境2. cubemx配置主要内容2.1 RCC配置2.2 SYS配置2.3 USART1配置2.4 ETH配置2.5 LWIP配置LWIP使能LWIP参数配置2.6 时钟配置3. 代码完善3.1 添加对PHY硬件复位的代码3.2 主函数添加LWIP线程函数4. 实验效果4.1 路由器端...

2019-05-23 15:51:23 3196 4

原创 cubemx 配置多通道ADC进行ADC采样

cubemx 配置多通道ADC进行ADC采样AD的基础知识AD很复杂,其实也不复杂,因为我们用的不多。AD:模拟量转换数字量(模拟信号转换数字信号)。ADC:模拟量转数字量的转换器。为什么需要AD呢?自然界宏观的物理量都是连续的。而机器识别的信号0与1是离散的。为了让机器能够采集、分析、储存这些连续的量,所以要把需要被模拟的量转换为数字量。主要的参数:采样精度与转...

2019-05-16 23:07:21 16355 11

原创 cubemx配置FreeRTOS串口输出任务信息

cubemx配置FreeRTOS串口输出任务信息关键步骤:1. cubemx中使能任务信息相关宏(3个);2. 配置2个宏定义3. 开启一个定时器,作为计算任务信息的时钟;4. 调用函数输出任务信息1.环境:packages版本(STM32F4 1.21)cubemx版本(version4.27.0 && STM32Cube v1.0)MDK版本(KEIL6 ...

2019-05-14 20:16:48 1902

原创 CUBEMX+CANOPEN教程四:canopen小结

还没开始

2019-04-10 22:06:46 4782

原创 CUBEMX+CANOPEN教程三:canopen festival源码移植详细教程

还没开始

2019-04-10 22:05:50 2186 2

原创 CUBEMX+CANOPEN教程二:can功能代码完善

在教程一基础上进行can功能完善主要工作:can筛选器配置can发送与接收的相关结构体构建can发送与接收等函数构建can festival移植定时器配置文章目录1. can筛选器配置2. can发送与接收的相关数据结构构建3. can发送与接收等函数构建4. can festival移植5. 定时器配置小结1. can筛选器配置在bsp_can.c文件中添加void ...

2019-04-10 22:04:55 4426 3

原创 CUBEMX+CANOPEN教程一:实现cubemx工程配置以及实现串口不定长度收发

一、cubemx配置工程CAN1参数设置USART1设置DMA设置GPIO设置定时器设置中断分组设置工程设置生成工程工程生成成功打开工程二、代码完善2.1串口功能完善采用DMA+串口空闲中断方式实现串口收发不定长数2.1.1 新添加工程文件bsp_usart.c及bsp_usart.h/***************...

2019-04-10 17:46:55 2911 1

原创 STM32硬件I2C问题

1.CUBEMX生成代码后I2C总线初始化一直出现I2C_FLAG_BUSE1.1 环境:1.2 硬件I2C配置为默认,管脚如下1.3 时钟等其他 配置完成后生成工程1.4 添加代码在i2c.c文件中的的void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)函数中添加如下代码 __I2C2_FORCE_RE...

2019-04-10 16:33:03 1576 2

原创 STM32应用笔记汇总

STM32应用笔记汇总--FreeRTOS一种计算CPU使用率的方法及其实现原理

2019-03-05 11:05:38 895

原创 基于CUBEMX5.0的Touchgfx移植教程

参考:http://forum.armfly.com/forum.php?mod=viewthread&tid=90710环境:步骤:1、2、3、4、5、6、7、8、9、10、11、12、13、14、返回cubemx打开touchgfx15、设置界面生成代...

2019-02-28 23:36:15 9067 6

原创 基于科沃斯地宝研究红外对接系统

1.基本资料2.科沃斯地宝拆解3.科沃斯红外编解码分析 左1发射器编码                                                      左2发射器编码 右1发射器编码右2发射器编码单发射器发射周期(180ms)单红外发射器连发码占空比 4.基于开发板实现多接收器模拟对接过程红外信号差异...

2018-11-29 14:25:53 1117

原创 sourceinsight4 工程文件 相对路径设置

有很多坑,我是在代码工程文件下新建一个si目录用来存放si工程文件。代码工程目录名:MOTORSI4工程目录名:MOTOR\si主要步骤:1、在代码工程文件下新建si目录2、在si4中新建工程,设置代码源文件目录MOTOR&si4的工程文件存放目录(刚才新建的si目录)3、不添加文件,直接关闭弹出的添加源文件框4、设置默认工程设置,设置代码源文件目录为   .....

2018-11-23 12:02:47 5582

原创 C语言基础不过关踩过的坑

C语言基础不过关踩过的坑strlen函数问题描述原因浮点型数存在整型数组中问题描述原因strlen函数问题描述在stm32开发中在计算数组实际长度时出现有时候长度计算出错原因strlen()用来计算指定的字符串s 的长度,不包括结束字符"\0"。如果用来计算字符串中赋值操作中的有一个值十进制为0(asiic码对应字符’\0’),则只能计算这个十进制为0数之前的数组长度。如果数组第一个...

2018-11-21 22:19:57 347

原创 sourcetree 提交仓库出现的问题

error: failed to push some refs to 原因就是本地和远程的文件需要合并后才能上传本地的新文件解决步骤:1.先拉取2、再推送参考博客: git 错误error: failed to push some refs todev:dev fatal: HttpRequestException encountered. remote: Inval...

2018-11-20 15:44:11 1175

原创 通过cubemx生成STM32工程文件后保存源代码空间缩减

一般cubemx生成代码设置成复制需要的库而不是所有库会减少生成工程文件大小,但是实际用起来文件还是很大,在做版本管理及备份转移的过程中会很麻烦,这里看到硬石工程有一个脚本文件可以删除工程编译过程中的中间文件,大大缩小了工程文件的大小。实际效果如下:这是编译后不做处理的工程文件大小(足足200M+):通过执行脚本文件 删除无关文件后(小于50M),效果很棒,版本管理及转移都方便多了...

2018-11-20 11:16:49 2291 4

原创 quicker.em在sourceinsight 4中的使用问题

uicker.em可以在sourceinsight 3.5中很好使用;也很方便;先多谢大牛。但是,将quicker.em添加到sourceinsight 4中,绑定快捷键,根本就找不到autoExpand的宏。可能主要原因是:souceinsight 4对宏解析的规范有些变动;所以quicker.em某些地方产生了冲突(代码的注释)。具体办法:1、修改GetFunctionDef函...

2018-11-19 17:41:49 2842 2

原创 CUBEMX教程—— STM32F407实现多步进电机型加减速全过程

cubemx配置图先配置定时器,选择定时器8,内部时钟源,通道1,2,3,4 时钟配置,查看手册可以知道TIM8连接在APB2,定时器8时钟频率为168M。 定时器8参数配置定时器8GPIO设置 定时器8 中断设置(比较中断) 生成代码代码修改1、生成S型加速点比较值及自动重装载值添加bsp_stepmotor.c文件,主要是计算加速过程中确定加...

2018-11-16 15:20:47 11768 7

原创 步进电机S型加速

S型曲线的的方程,在[-5,5]的图形如下图所示:如要将此曲线应用在步进电机的加、减速过程中,需要将方程在XY坐标系进行平移,同时对曲线进行拉升变化:其中的A分量在y方向进行平移,B分量在y方向进行拉伸,ax+b分量在x方向进行平移和拉伸。根据项目的需要,在加速过程中采用的曲线方程为:。其中的Fcurrent为length(3000)个点中的单个频率值。Fmin起始频率为500...

2018-11-16 10:35:19 9664 2

原创 多串口不定长度接收DMA+串口空闲中断

多串口不定长度接收DMA+串口空闲中断 密码:6996

2018-10-12 16:50:34 683

转载 关于IO模式(浮空、推挽、开漏...)描述及应用

Ⅰ、写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx)。但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可以上拉吗? 开漏输出是干什么用的? 其实这些问题并不难,只要你了解到每一种模式的真正意思,相信这些问题都不会难道你。本文的内容比较基础,也比较实用,希望对你有所帮助。 关于本文的详细内容请看下面章节 ...

2018-07-12 17:27:25 2686 1

转载 keil5 总是编译所有文件

正常情况下,Keil只是会对编辑过的文件进行重新编译,但是有的时候只是修改一个文件也会全部编译,两个地方需要检查:1,project--option for target 'xxx' ---target---Code Generation-- 将Use Cross-Module Optimization勾选去掉2,工程文件是否是只读属性,如果是只读,那去掉整个工程文...

2018-07-12 14:12:14 4622 1

原创 关于UCOSIII的时钟节拍定时精度

一、首先在os_cfg_app.h中找到系统时钟节拍设置,一般设置为1-1000,及最小节拍为1ms最大为1s,一般设置200(5ms)或者500(2ms)。其实可以理解为一个计数器,计数到这个OS_CFG_TICK_RATE_HZ值记为1s,自然而然设置为1000就有1000次计数一次计数就是1ms其他也是这样。二、获取当前时钟节拍计数值的函数为OSTimeGet(),函数原型为OS_TICK ...

2018-07-05 15:46:04 3596 2

原创 gitbook与github关联

主要内容:注册gitbook账户和github账户然后在gitbook里进行关联注意事项gitbook新域名注册需要翻墙,老域名不用翻墙关联github时看不到建立的仓库是github账户设置成了对gitbook所有仓库不可见或者部分仓库不可见(我就被这这个坑了一把)详细图文教程如下1、注册github账号并新建仓库,图示如下2、仓库下创建SUMMARY.md文件,输入图示内容保存提交3、注册gi...

2018-04-27 15:37:32 1633

原创 嵌入式Linux驱动学习笔记(一)------第一个LED驱动程序

1、查看原理图,得到控制led的管脚GPF4/GPF5/GPF6 2、查看datasheet,找到LED对应的寄存器(GPFCON, GPFDAT)目的是得到控制寄存器和数据寄存器的地址以及控制寄存器的控制模式选择该寄存器占用16个字节,其中4个字节是保留字节  3、开始编写LED驱动程序1/*my01leds_driver.c*/2#i

2017-09-03 10:03:01 2342

翻译 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-15 09:18:35 230

原创 DAC7724数模转换芯片小结

DAC7724的主要特点    DAC7724是TI公司生产的12位并行输入4通道D/A转换器,该转换器具有以下特征:    ◇±15V以内的双电源工作;    ◇输出电压:VREFL~VREFH,VREF:-10~+10V;    ◇采用12位并口输入和4通道隔离输出方式;    ◇可以上电自动复位;    ◇转换速率快,更新率为1 MHz;    ◇工作温度范围在-

2017-08-15 08:58:32 8719

MycJSON_demo.7z

STM32F407ZGT6 cJSON移植

2021-08-25

LWIP_FreeRTOS.zip

cubemx配置FreeRTOS下的lwip应用实例,里面集成了webServer,TCPserver,tcpclient,udpServer,udpclient

2019-11-21

StepMotor_S.zip

鉴于前一版程序是一年之前写的,备注不是很清,回头用的时候有点反应时间。现在这版添加了注释和面向对象的思想进行了函数封装,现在更清晰明了。

2019-07-11

cubemx_lwip1.zip

cubemx配置LWIP工程文件实现tcp、udp、webserver功能,基于正点原子探索者开发板STM32F407ZGT6

2019-05-24

canopen_cubemx_V1(USART)

canopen_cubemx_V1(USART)使用cubemx 不定长度 串口收发控制程序

2019-04-10

周立功canggong工具集

周立功canggong工具集,主要有USBCAN-I-mini设备驱动及cantest上位机分析软件。可以实现can报文分析

2018-12-03

sourceinsight4 破解程序及秘钥文件

sourceinsight4 破解程序及秘钥文件,网上找到的实测可用,在这做一个备份

2018-11-24

CUBEMX生成STM32代码删除编译信息文件(缩小体积方便备份)

在cubemx生成工程文件或编译文件后会生成大量无用的中间文件,占用空间较大,我这里显示执行这个脚本文件后直接将200M+的工程文件缩小到不到50M,在版本管理及文件转移时都会方便得多。删除编译信息文件(缩小体积方便备份)

2018-11-20

quicker.em 适配sourceinsight4

quicker.em 网上很多只支持sourceinsight3版本,这里配置好了 适配sourceinsight4,功能很强大,有问题可以私信联系

2018-11-19

8个步进电机S型加速实现

CUBEMX 配置生成STM32F407控制8个步进电机S型加速实现

2018-11-16

步进电机梯形加速实现

鸣志步进电机梯形加速实现代码,基于STM32F407平台使用HAL库

2018-11-16

电机控制专题指导手册

STM技术开发手册 电机控制专题指导文档,里面有详细的多种电机原理,常见问题及相应的控制策略

2018-11-16

STM32F407实现鸣志步进电机S型加速实现代码

主控STM32F407实现鸣志电机驱动器SR2的S型加速全过程,

2018-11-16

Embedded Motion Driver V5.1.1 教程

MPU6050 的DMP 资料 Embedded Motion Driver V5.1.1 教程

2018-10-18

多串口不定长度收发

CUBEMX配置STM32F407ZGT6工程,显示多串口不定长度收发数据

2018-10-12

lwip_cubemx.zip

Cubemx配置LWIP无操作系统使用配套例程说明代码,例程链接https://blog.csdn.net/xingzhewanfu/article/details/90481963

2007-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除