-
一、上篇回顾
上次代码中Task_Switch实现了两个任务的切换,代码如下:
void Task_Switch()
{
if(g_OS_Tcb_CurP == &am...
-
一、什么是PendSV
PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容...
-
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度...
-
在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄...
-
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度,...
-
某日,有位STM32用户咨询如下问题:
“在使用stm32f411CE芯片,编译环境是keil mdk 5.15.仿真器使用Jlink。利用st官网标准库...
-
一、HardFault_Handler问题查找方法
查看几个方面,都会出现HardFault_Handler:1、是否有未初始化的指针、或越界的指针;2、堆、栈分配是否合理,避免...
-
一、HardFault_Handler问题查找方法
查看几个方面,都会出现HardFault_Handler:1、是否有未初始化的指针、或越界的指针;2、堆、栈分配是否合理,避免...
-
用按钮控制LED灯,让LED在一个按钮按下时亮起;弹起时灭掉。
主要目的是学习GPIO的输入及中断。
一、电路
图中的J39-n是几个跳线插座,位置在开发板LCD附近,往...
-
错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error&n...
-
输入捕捉模式和PWM输入模式的区别
Stm32的通用定时器具备基本的输入捕捉功能。所谓输入捕捉功能,是指通用定时器可以通过检测输入信号的跳变沿,检测到跳变沿的同时将计数器的当前值...
-
#include "DrvGPIO.h"
#include "DrvSYS.h"
#include "DrvPWM.h"
S_DRVPWM_TIME_DATA_T spt;
...
-
在前一段时间分析了ARM异常处理机制的处理方式,分析了在异常产生以后CPU自动完成的相关处理以及程序员应该完成的基本操作。着重分析了异常代码的返回地址分析已经采用通用代码处理各种异...
-
异常就是正在执行的指令,由于各种软件或硬件故障被打断,比如,在读数据或指令时,访问存储器失败、产生了一个外部硬件中断等。当这些情况发生时,在ARM
-
不多说了,直接上代码
主函数:main.c#include "main.h"
int main(void){ SystemInit(); can_init(...
-
stm32串口占用时间、消耗CPU及最大中断时间的深度分析,探寻一种更有效的串口发送方式
1、stm32串口发送占用的时间
答:做嵌入式以来,一直自认为在两个MCU之间的串口通...
-
作为一个偏向工控的芯片,ADC采样是一个十分重要的外设。
STM32集成三个12位精度18通道的内部ADC,最高速度1微秒,结合DMA可以解放CPU进行更好的处理。
ADC接口...
-
void USART3_IRQHandler(void){ u32 Res; if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESE...
-
本文以USART1为例,叙述串口中断的编程过程。
1、先来讲述一下在应用串口中断时涉及到的一些库文件。
首先对于STM32外设库文件的应用编程,misc.c和stm32f10x...
-
STM32启动代码
编译器:keil MDK4.1
进入到嵌入式领域,main函数之前还有一段启动代码!
究竟在main函数之前,...