嵌入式
新时代弄潮儿
Talk is cheap. Show me the code
展开
-
STM32 F103串口同时收发出现死锁问题解决办法
一直使用F4系列,没有出现此类现象,也可能出现了没有发现。最近在做和研华工控机通讯时出现串口接收问题。总结如下:1. 使用DMA+空闲中断未出现串口同时收发死锁现象,但是由于研华某款工控机在与板子通信时,出现丢包现象工控机接收到板子发送数据正常,无丢包 工控机发送数据到板子,发送正常,接收总是显示校验不通过,不通过时只收到部分包。 板子与电脑通过串口工具相互发送数据,板子无丢包现象,串口工具无丢包现象。 工控机与电脑通过串口工具相互发送数据,工控机无丢包现象,串口工具无丢包现象。由于此.原创 2020-05-29 11:51:20 · 6486 阅读 · 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 · 563 阅读 · 0 评论 -
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 · 2926 阅读 · 1 评论 -
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 · 4448 阅读 · 3 评论 -
CUBEMX+CANOPEN教程三:canopen festival源码移植详细教程
还没开始原创 2019-04-10 22:05:50 · 2197 阅读 · 2 评论 -
CUBEMX+CANOPEN教程四:canopen小结
还没开始原创 2019-04-10 22:06:46 · 4810 阅读 · 0 评论 -
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 · 1910 阅读 · 0 评论 -
cubemx 配置多通道ADC进行ADC采样
cubemx 配置多通道ADC进行ADC采样AD的基础知识AD很复杂,其实也不复杂,因为我们用的不多。AD:模拟量转换数字量(模拟信号转换数字信号)。ADC:模拟量转数字量的转换器。为什么需要AD呢?自然界宏观的物理量都是连续的。而机器识别的信号0与1是离散的。为了让机器能够采集、分析、储存这些连续的量,所以要把需要被模拟的量转换为数字量。主要的参数:采样精度与转...原创 2019-05-16 23:07:21 · 16418 阅读 · 11 评论 -
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 · 3220 阅读 · 4 评论 -
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 · 1588 阅读 · 2 评论 -
基于科沃斯地宝研究红外对接系统
1.基本资料2.科沃斯地宝拆解3.科沃斯红外编解码分析 左1发射器编码 左2发射器编码 右1发射器编码右2发射器编码单发射器发射周期(180ms)单红外发射器连发码占空比 4.基于开发板实现多接收器模拟对接过程红外信号差异...原创 2018-11-29 14:25:53 · 1121 阅读 · 0 评论 -
嵌入式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 · 2343 阅读 · 0 评论 -
关于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 · 3621 阅读 · 2 评论 -
keil5 总是编译所有文件
正常情况下,Keil只是会对编辑过的文件进行重新编译,但是有的时候只是修改一个文件也会全部编译,两个地方需要检查:1,project--option for target 'xxx' ---target---Code Generation-- 将Use Cross-Module Optimization勾选去掉2,工程文件是否是只读属性,如果是只读,那去掉整个工程文...转载 2018-07-12 14:12:14 · 4679 阅读 · 1 评论 -
关于IO模式(浮空、推挽、开漏...)描述及应用
Ⅰ、写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx)。但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可以上拉吗? 开漏输出是干什么用的? 其实这些问题并不难,只要你了解到每一种模式的真正意思,相信这些问题都不会难道你。本文的内容比较基础,也比较实用,希望对你有所帮助。 关于本文的详细内容请看下面章节 ...转载 2018-07-12 17:27:25 · 2697 阅读 · 1 评论 -
多串口不定长度接收DMA+串口空闲中断
多串口不定长度接收DMA+串口空闲中断 密码:6996原创 2018-10-12 16:50:34 · 683 阅读 · 0 评论 -
步进电机S型加速
S型曲线的的方程,在[-5,5]的图形如下图所示:如要将此曲线应用在步进电机的加、减速过程中,需要将方程在XY坐标系进行平移,同时对曲线进行拉升变化:其中的A分量在y方向进行平移,B分量在y方向进行拉伸,ax+b分量在x方向进行平移和拉伸。根据项目的需要,在加速过程中采用的曲线方程为:。其中的Fcurrent为length(3000)个点中的单个频率值。Fmin起始频率为500...原创 2018-11-16 10:35:19 · 9688 阅读 · 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 · 11825 阅读 · 7 评论 -
DAC7724数模转换芯片小结
DAC7724的主要特点 DAC7724是TI公司生产的12位并行输入4通道D/A转换器,该转换器具有以下特征: ◇±15V以内的双电源工作; ◇输出电压:VREFL~VREFH,VREF:-10~+10V; ◇采用12位并口输入和4通道隔离输出方式; ◇可以上电自动复位; ◇转换速率快,更新率为1 MHz; ◇工作温度范围在-原创 2017-08-15 08:58:32 · 8751 阅读 · 0 评论