
嵌入式系统
文章平均质量分 61
奔跑的悍匪
gdgddddddass
展开
-
I2C电路故障排除---边沿时间与杜邦线
背景 计划做一个基于wifi的家庭温度湿度监控装置,于是网购一温度湿度传感器模块HTU21D,采用3.3v电源供电,I2C接口。之前在迷你四轴上用过MPU6050,也是I2C接口的。将传感器连接到STM32C8最小系统板上后,移植迷你四轴中的软件模拟I2C协议代码,编写了HTU21D驱动程序,开始测试。回合1 先试着读取了一下HTU21D的用户寄存器user_register的默认值,居然读到原创 2017-01-17 23:05:36 · 4817 阅读 · 5 评论 -
STM32的串口空闲中断
STM32串口使用DMA方式接收数据可以减小CPU的开销。对于接收定长数据,可以将DMA接收缓冲区的长度设定为待接收数据的长度,这样利用DMA的传输完成中断DMAx_IT_TCy就可以知道已经接收了一帧数据。对于接收不定长数据,如何知道意见完成了数据的接收呢?可以结合串口的空闲中断来实现。具体做法见http://wenku.baidu.com/link?url=ZGGaGpvy2dbSqoBaoT原创 2017-02-15 20:26:15 · 16712 阅读 · 2 评论 -
研华PCM-3343上linux系统构建
PCM-3343单板机采用DM&P Vortex86DX CPU,这是一个486CPU。该采用CF卡作为系统盘。在某项目中,需要在该单板机上构建一个linux,在此-简单记录大致的方法和遇到的问题。1、编译工具的生成,采用buildroot-2015.08.1,在官网下载压缩文件后解压,进入目录buildroot-2015.01.1后输入make menuconfig,进入图形化配置界...原创 2018-12-15 01:09:50 · 1169 阅读 · 6 评论 -
FreeRTOS:在ARM Cortex-M内核上运行RTOS
注意:以下关于中断嵌套的信息适用于Cortex-M3、Cortex-M4、Cortex-M4F和Cortex-M7,不适用于Cortex-M0或者Cortex-M+等不包括BASEPRI寄存器的内核。介绍数以千计的应用在ARM Cortex-M内核上运行FreeRTOS。令人吃惊的是,很少有关于这个RTOS和ARM Cortex内核组合的技术支持请求。但是,确实存在大量由于不正确设置中断优...翻译 2019-02-17 17:24:41 · 3064 阅读 · 0 评论 -
STM32输出PWM波形错误解析
一、背景项目中需要用STM32F407输出4路PWM波形控制两个A4950模块,从而驱动2个直流电机。使用TIM1的在PE9、PE11、PE13、PE14上分别产生4路PWM波形,前两路(记作pwm1、pwm2,分别接A4950的IN1和IN2)控制电机1,后两路(记作pwm1、pwm2,分别接另一个A4950的IN1和IN2)控制电机2。根据A4950的芯片手册,电机正转时,IN1给占空...原创 2019-04-16 00:58:29 · 5626 阅读 · 7 评论