![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
文章平均质量分 56
萌哒兽
学无止境
展开
-
STM32移植FreeRTOS中断向量表问题
STM32移植最新FreeRTOS时,直接从工程文件中复制出startup_stm32f10x_hd.s文件,做了如下修改:然后程序使用了定时器TIM3中断,发现一旦进入中断就会卡死,调试发现程序停在这个地方:查资料是一般由于中断入口函数未定义,程序会跳转到这里。检查程序后 确定TIM3_IRQHandler已经定义了,通过调试,却发现中断函数一直没有进入过。后经比对正常的启动文件,最终找到了原因:由于启动文件使用FreeRTOS官方直接拷过来的,官方使用了vTimer2IntHandler原创 2021-08-17 18:53:04 · 987 阅读 · 1 评论 -
STM32配置W5500
一、下载W5500官方提供的驱动库:ioLibrary_Driver-master二、库文件分析ioLibrary_Driver-master Application //官方提供的测试程序 loopback multicast Ethernet //底层配置 W5100 W5100S W5200 W5300 W5500 Internet //网络应用层 DHCP DNS FTPClient FTPServer httpServer MQTT原创 2021-05-14 17:29:29 · 3261 阅读 · 0 评论 -
STM32 定时器脉冲计数踩坑
本文记录了定时器脉冲计数几种方式:首先看定时器框图:在这里插入图片描述从图中可以看到,CNT计数器的时钟来源是CK_PSC经过预分频器过来,而CK_PSC的时钟来源有5种:CK_INT:“内部时钟ETRF:外部触发输入TRGI:内部边沿检测TI1FP1/TI2FP2:编码器内部时钟来自RCC,编码器接口暂不不懂。外部触发计数,可能的通道有:①TIMx_ETR — ETR — ETRP ---- ETRF ---- CK_PSC②TIMx_ETR — ETR — ETRP — T原创 2020-11-23 16:22:14 · 3985 阅读 · 0 评论 -
C:从环形缓冲区提取帧数据
嵌入式平台如何从数据流中提取一帧数据?通过实例来说明问题:A作为主机(上位机软件),B作为从机(STM32)硬件和电机连接,A和B之间通过串口通讯,使A能间接的控制电机正反转,速度等。协议初定:问题一:怎么判断帧数据开始信息?通过定义一个固定的帧头,作为数据开始信号。记为0x01。问题二:如何判断帧的长度?帧的长度可以选择固定长度或可变长度。固定长度逻辑简单,检测到帧头后,往后读取固定的长度即可。可变长度灵活度高,一帧数据可以携带更多的信息量。那么可以在帧头后增加一个字节作为长度,记为.原创 2020-10-22 11:11:26 · 2123 阅读 · 1 评论 -
C:printf使用debug模式调试
一、可变参数宏可变参数宏是C语言与C++语言的函数宏的参数个数可以是0个或多个。声明语法:逗号后面三个句点’’…",表示一个参数或多个参数。宏扩展时,使用特殊标识符__VA_ARGS__来替换所传递的参数。如果可变参数为空,在__VA_ARGS__前面加上##直接自动去掉可变参数前的逗号,否则编译报错。#define debug(format,...) printf(format, ##__VA_ARGS__)//等效于#define debug(format,args...) pr原创 2020-09-16 09:51:59 · 2336 阅读 · 0 评论 -
STM32、LINUX概念
STM32是一块单片机,LINUX是操作系统。 STM32不能跑LINUX系统。 两种操作系统:用MMU和不用MMU。 用MMU的可以跑:LINUX,android,windowns,MaxOS. 不带MMU的可以跑:FreeRTOS,VxWorks,ucOS. CPU分两种: 带MMU的:Cortex-A,ARM9,ARM11 不带MMU的:Cortex-M STM32属于Cort原创 2017-12-15 23:58:02 · 1693 阅读 · 0 评论 -
STM32使用ST-LINK错误
ST-LINK给STM32F407烧录程序,接了SWDIO,SWCLK,VCC,GND。下载程序出现几种错误,而且错误提示不一样。最后发现是RST线必须要接上。VCAP引脚不能接VCC。原创 2018-12-29 11:46:55 · 3149 阅读 · 1 评论