![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32 M3
文章平均质量分 69
Blucher_Ce
一只菜鸟
展开
-
01 stm32初探
ARM内核的stm32开发流程基本如下一是建立project并设置相关参数,根据需要的功能编写程序;二是编译和调试程序并生成HEX目标代码;三是将生成的HEX目标代码下载至目标板(DMSTM-L)中并查看现象。一、Keil MDK 编译环境项目的建立及参数设置1、项目建立与参数设置(1) 新建单个项目任何一个系统的开发和调试都是在选择的软件平台中实现的,在软件平台我们可原创 2017-06-21 20:04:31 · 601 阅读 · 0 评论 -
FreeRTOS中使用CubMX队列创建队列函数osMessageQDef的坑
废话不多说,创建一个队列,在cubeMX下自动生成代码如下osMessageQDef(ESP8266SendQueue, 256, 8); ESPSendQueueHandle =osMessageCreate(osMessageQ(ESP8266SendQueue), NULL);该队列意义在于生成256个item,每个item大小8个字节 使用队列最主要是作为数据传输的载体,现在可以很简单的测...原创 2018-06-15 17:09:25 · 9321 阅读 · 12 评论 -
FreeRTOS中队列复写的问题
FreeRTOS应该是所有嵌入式人员都经常使用的操作OS了,最近博主在使用的时候遇到了一个问题,具体情况如下:在hal库中,其封装好了队列QUEUE的复写函数 xQueueOverwrite( xQueue, pvItemToQueue )那么其宏定义如下 #define xQueueOverwrite( xQueue,pvItemToQueue ) xQueueGeneric...原创 2018-06-04 17:24:33 · 2955 阅读 · 3 评论 -
SWD调试在STM32中REMAP调试的深入探究
首先说一下问题的现象,如果有这种现象的同学可以看看博主的这篇博文程序download一次后,第二次download就提示no target connect,除非长按reset键才能继续下载程序首先上一组stm32的TIM2的端口使用组合有下面四种:1.当不重映射时,默认TIM2四个的IO口是PA0、PA1、PA2、PA3开启重映射__HAL_AFIO_REMAP_TIM2_ENABLE()2.要使...原创 2018-03-06 11:53:38 · 3992 阅读 · 1 评论 -
HAL库中USART需要注意的地方
HAL库是比较全面的,封装比较彻底的,也是功能比较强大的。使用HAL库,我们直接调用它的API函数,不用关心它的底层操作过程。使用HAL库,省去了好多繁琐的处理过程,不再需要我们自己写如等待等过程。HAL库也包含如Ethernet、USB等高级外设的驱动。对于初接触它的人来说,尤其是用惯了标准库的人,总会有各种不适应和排斥感。就拿UART来说,我们通过中断方式接受或发送数据。如果仿真调试的话,会发...转载 2018-03-09 10:56:16 · 14586 阅读 · 2 评论 -
冷启动与热启动在STM32基于RTOS编程中需要注意的地方
冷启动与热启动估计是在大多数入门学51的时候接触到的知识,总结一下: 所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的,通常是0x00或0xFF;单片机的热启动是通过外部电路给运行中的单片机的复位端一复位电平而实现的,也就是所说的按键复位或看门狗复位。复位后,RAM的内容都没有改变。 一般来说我们不需要对此特别注意,在对STM32的程序设计中,涉...原创 2018-02-28 13:18:44 · 2077 阅读 · 0 评论 -
HardFault_Handler故障的原因
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、Returnaddre...转载 2018-02-12 11:16:59 · 59779 阅读 · 1 评论 -
基于STM32的常用数码管芯片TM1650驱动
店家给的是51或者arduino的,花了点时间移植一下;IIC协议这里就不多说了;使用模拟IIC口 定义B12 B13#define AnalonSDA_Pin GPIO_PIN_12#define AnalonSDA_GPIO_Port GPIOB#define AnalonSCL_Pin GPIO_PIN_13#define AnalonSCL_GPIO_Port GP原创 2018-01-29 17:57:21 · 12925 阅读 · 3 评论 -
STM32CUBEMX 中断管理
使用cube开发工具进行开发,使用HAL库,有一个问题就是当我们在cube界面配置完成后“以为完全配置好了”,结果在实际代码编写的时候回发现常见以下问题:1:中断没配置2:优先级没配置这里简单分析以下手动开启中断的配置 取两个例子example1:如何在无法改动cube工程的情况下 使能外部中断step1gpio.c 中 GPIO_InitStruct.Pin = M原创 2018-01-19 18:18:28 · 3075 阅读 · 0 评论 -
毕业后6个月的总结
和学校相比,社会真的是大杂烩。博客好久没更新了,总结一下,从17年7月毕业后到现在差不多6个月的时间,从学生到一个上班族的转变也差不多完成了。毕业前我会什么呢?(1)我会C语言的嵌入式编程,51、合泰,cortex-M3的K60也会一些。(2)PCB会画板会布线。(3)操作系统只会理论。(4)使用开发平台为KEIL 4。(5)上位机只会一些c#。(6)没有自己的博客原创 2018-01-09 17:27:43 · 314 阅读 · 1 评论 -
基于STM32的常用数码管芯片TM1637驱动
店家给的是51或者arduino的,花了点时间移植一下;IIC协议这里就不多说了;使用模拟IIC口 定义B14 B15#define AnalonSDA_Pin GPIO_PIN_12#define AnalonSDA_GPIO_Port GPIOB#define AnalonSCL_Pin GPIO_PIN_13#define AnalonSCL_GPIO_P原创 2018-01-30 17:16:02 · 12792 阅读 · 4 评论 -
UC/OS-II(二)自学笔记
(1)任务控制块空任务控制块链表OS_init()/任务控制块链表OSTaskCreat()OS_TCB类型的变量OSTCBCur,用来存放正在运行任务的任务控制块指针。OSTCBPrioTbl[]任务控制块优先级表(任务调度中使用)(2)任务就绪表OSRdyTbl[ ]和OSRdyGrp(记录OSRdyTbl中哪个任务组有任务就绪,最多64个任务可以管理)负责任务调度。这原创 2017-10-16 14:11:41 · 3608 阅读 · 0 评论 -
UC/OS-II(一)资料绪论
第一篇 UCOS介绍第一篇 UCOS介绍 这个大家都知道。呵呵。考虑到咱们学习的完整性还是在这里唠叨一下。让大家再熟悉一下。高手们忍耐一下吧! uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作转载 2017-09-25 08:49:10 · 814 阅读 · 0 评论 -
03 IO口的分析与使用
STM32 GPIO使用操作步骤:1. 使能GPIO对应的外设时钟例如://使能GPIOA、GPIOB、GPIOC对应的外设时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| RCC_APB2Periph_GPIOC , ENABLE); 2. 声明一个GPIO_InitSt转载 2017-10-16 14:00:22 · 785 阅读 · 0 评论 -
02 STM32启动文件的理解
; Amount of memory (in bytes) allocated for Stack; Tailor this value to your application needs; Stack Configuration; Stack Size (in Bytes) ; Stack_Size EQU 0x00000400 ;1024个字原创 2017-09-05 15:58:03 · 507 阅读 · 0 评论 -
在stm32实现类似于映射表的配置文件
在stm32实现类似于映射表的配置文件需求:配置文件需求,因为现在的固件代码基本做成通用类型,而特定的定制需求,则从配置文件中读取。故将一个大数组(映射表功能)存入stm32 的flash中,作为程序的预读取,即在上电之后,程序需要从该地址读取一次数据,若读取成功,则正常执行逻辑代码。确定falsh 的可用地址,博主使用stmf103c8t6,从该芯片的性能上来看,可用flash的地...原创 2019-06-26 14:16:50 · 1030 阅读 · 0 评论