XiuHua_Wu的有趣博客

秀华出品,必属精品!

排序:
默认
按更新时间
按访问量
RSS订阅

【STM32】修改芯片型号后报 Error 的解决方案

背景 前几天有个新需求,使用 STM32 的标准库(STD)做个产品的例程。之前已经做了个 HAL 的,但人家客户不干,非要 STD 的。拖了一周,想起来了,今天就开始做,但是懒啊,直接在网上找了个封装好了的 STD 例程,想直接修修改改,就完事了。 没想到,例程的芯片型号(STM32F103VC...

2018-12-24 21:08:44

阅读数 414

评论数 2

【STM32CUBEMX】HAL 库的 Timeout=1 异常分析

背景 STM32CUBEMX 在生成的库函数,基本上都有输入参数 Timeout。 比如说: HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t...

2018-11-09 14:15:10

阅读数 382

评论数 2

【MCU选型】MCU主频对选型的影响

前几天接了个小活,是用MCU与一个芯片进行SPI通讯,同时为此芯片提供一个100ns~2000us的周期的50ns的脉冲,还有其他特殊功能的脉冲。 因为我手上有个STM32F207的开发板NUCLEO-F207ZG,我想都没想就直接用这个开发板写程序了,我第一天先是做了PWM波5MHz@50%D...

2018-11-06 15:46:02

阅读数 644

评论数 1

【STM32】USART IDLE + DMA 异常解决方案

背景 又出 BUG 呗~ 设计背景 之前使用 STM32F207 做了一个 UART -> I2C 的转接板。UART 部分是用来与上位机进行交互的,接收数据采用 IDLE 中断 + DMA 的方式,发送数据采用阻塞的方式。上位机可以通过指令触发中转板定时采集 Slave 的...

2018-09-28 20:28:43

阅读数 640

评论数 0

【C 语言】数据类型的一致性

背景 今天使用Visual Studio 2017 写一个程序时发现的一个问题,做下记录。 目标实现 定义 char 类型的数组,将部分参数与宏进行比较,输出比较结果。 问题描述 问题代码 char addbuf[8] = {0x5A, 0xA5, 0x00, 0x01}; ...

2018-09-26 11:09:49

阅读数 116

评论数 0

【Arduino】I2C Master 实现

背景 前几天,有个海外的客户在使用 Arduino 连接产品(I2C接口)的时候,发现有异常。为了方便,我自己写了个 Arduino 的例程。使用 Arduino 例程的时候发现,官方的描述不太详细,走了些弯路。特此,写篇文章记录下。 Arduino 的 I2C 相关函数 Arduino 的...

2018-09-13 18:29:44

阅读数 2410

评论数 1

【STM32CUBE】ADC 电流检测未校准导致测量值异常

背景 这两天在做一个工装的调试,其中有一项是对接入设备的电流进行检测。 测试发现 ADC 采样换算后的电流值与实际的电流值相差甚异。 后来才发现,在开启 ADC 采集之前没有对ADC进行校准所导致。 ADC采集流程 Notice: 在进行测试之前,必须使用 HAL_ADCEx_...

2018-08-15 11:54:59

阅读数 962

评论数 0

【STM32CUBEMX】增加自定义 Groups 问题

背景 最近在使用 STM32CUBEMX 生成工程,想新建几个 Groups 放自己的文件。 平常自建的工程,我都是在 Manage Project Items 里面增加的。在使用STM32CUBEMX 生成的工程,发现每次在Manage Project Items 里面增加Groups,Ke...

2018-07-19 09:36:05

阅读数 338

评论数 2

【C 语言】数据类型取值范围造成的死循环

最近的项目进度比较紧张,程序修改十分仓促,在测试环节发现,部分机器出现工作一会死机的情况,大部分机器长时间工作是均工作正常。 死机的情况,通常会有如下几种情况: 堆栈问题。Example: 栈溢出。局部变量为大数组造成的栈溢出。 堆溢出或内存泄漏。因为我的程序没有申请内存空间,不存在内存泄漏...

2018-06-10 11:49:28

阅读数 180

评论数 0

【InterFace】STM32 I2C 死锁问题

最近在项目中设计了一个 IIC 模拟从机的程序。为了图方便,我随便拿了个 STM32F207 的开发板做 IIC Master,用 STM32CUBE 做了个程序,Master 的 数据发送和接收,都是直接调用 HAL 库的函数。 通过逻辑分析仪测试发现,每次主机出现错误后,IIC SDA 会被...

2018-06-08 22:35:50

阅读数 1115

评论数 2

【中断】中断嵌套导致中断失效

昨天在程序里增加了个新功能, 为了图方便, 在USART1的中断处理函数USART1_IQR中, 嵌套了段功能函数A_Function, 其中功能函数A_Function中有一段是循环等待USART2的中断处理函数USART2_IQR将指令接收标志S1_Flag置位。 这个功能一直没有调...

2018-03-23 15:53:37

阅读数 387

评论数 0

【STM32】JTAG IO复用 (PB4、PB3、PA15)

最近在使用STM32F103VCT6 做项目时,其中PA15的IO一直输出高电平。 查看了好多次程序,发现IO初始化的程序也没有问题, 后来又试了直接将MCU的程序全擦掉,仍是输出3.3V. 最后在芯片的数据手册上,看到了管脚的复用内容有一项是:JTDI。 后来又上网查了下, STM...

2017-10-12 19:43:58

阅读数 775

评论数 0

《Cortex-M3权威指南》笔记——chpt02 Cortex-M3概览

目录 目录 简介 1。Cortex-M3:32位 处理器内核。 2。CM3采用哈佛结构。 CM3提供可选的MPU。 寄存器组 R0-R12:32位通用寄存器,用于数据操作。 R13:堆栈指针SP。 R14:连接寄存器。 R15:程序计数寄存器。 特殊功能寄存器。 操作模式和特权级别 ...

2017-08-27 20:27:44

阅读数 313

评论数 0

《Cortex-M3权威指南》笔记——Chpt01 介绍

记录《Cortex-M3权威指南》的Chpt01 介绍(P1-P25)。 1、ARM Cortex-M3处理器基于32位ARMv7架构。 32位ARMv7架构支持高度成功的Thumb-2指令集。 Thumb-2: a.优点 : 强大、易用、轻佻、高效。 b.特点: Thumb-2是...

2017-08-27 15:11:19

阅读数 323

评论数 0

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