推荐阅读最新更新时间:2024-03-16 14:49
STM32--堆栈空间
函数的局部变量,都是存放在 栈 里面,栈的英文是:STACK. STACK的大小,可以在STM32的启动文件里面设置,以战舰开发板为例,在startup_stm32f10x_hd.s里面: Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE Stack_Size __initial_sp Heap_Size EQU 0x00000200 Stack_Size EQU 0x00000400 表示栈大小
[单片机]
【STM32】Debug下禁用看门狗
问题背景: 因为工程中加入了独立看门狗IWDG,但是有时候需要硬件仿真单步调试设置个断点啥的,这时候看门狗就会因为没有及时喂狗复位,弹窗报错,整个仿真都不能继续了。实测JLINK会弹窗如下图所示,但是亲儿子STLINK没有任何弹窗… 之前一直都是在debug的时候关掉看门狗宏定义,但是这样麻烦不说,会有一个隐患存在就是,真正的项目工程是需要看门狗的,我们随意关掉的话,终究会存在debug完之后忘记再重新打开看门狗的问题,所以我们最好的办法是能够在debug这个特定的条件下,冻结掉看门狗,就像低功耗下冻结看门狗一样。 解决办法: 翻阅参考手册 #define __HAL_DBGMCU_FREEZE_IWDG()
[单片机]
msp430单片机接收(FIFO实现)不阻塞CPU
/**************** UART的高效率使用 串口接收一字节程序, 要求利用FIFO结构与接收中断 不阻塞CPU继续执行后续代码 且允许CPU随时读串口 Author:七禾页8 site:创客基地 *******************/ #include msp430x14x.h #include iic.h #define RXBUF_SIZE 32 //接收FIFO的最大容量 unsigned char RX_BUFF ; //接收FIFO缓冲区数组 unsigned int UART_InpLen = 0; //接收FIFO内待发出的字节数 unsigned int RX_IndexR
[单片机]
stm32 设置systick中断抢先式优先级
最近使用STM32时希望将systick的中断优先级降低,但是CMSIS里给出的例子都是类似 view plain copy NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio rity = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_I
[单片机]
STM32 USART使用奇偶校验位
无校验位时,数据位常用8位 当使用就校验位时,数据位应设置为9位. 奇偶校验位也包含在数据位中。 详见参考手册:
[单片机]
STM32 结构体位域操作 (int a:4)
1、什么是位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。 例如: 在存放一个开关量时,只有 0 和 1 两种状态, 用一位二进位即可。 为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。 所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。 每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。 位段成员必须声明为 int、unsigned int 或 signed int 类型(short char long)。 2、位域定义 struct
[单片机]
STM32 uC/OS_II 实践 之 任务调度过程理解及查询式事件
先把入口函数main给贴出来,就从这里开始,来自文件main.c /******************************************************************************* * Function Name : main * Description : 主函数,对系统以及硬件初始化,建立主函数并开启系统 * Input : None * Output : None * Return : None *******************************************************************************
[单片机]
GPIO资源总结
STM32Fx系列 GPIO基本结构 保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。但是尽管如此,还是不能直接外接大功率器件,须加大功率及隔离电路驱动,防止烧坏芯片或者外接器件无法正常工作。 P-MOS管和N-MOS管:由P-MOS管和N-MOS管组成的单元电路使得GPIO具有“推挽输出”和“开漏输出”的模式。这里的电路会在下面很详细地分析到。 TTL肖特基触发器:信号经过触发器后,模拟信号转化为0和1的数字信号。但是,当GPIO引脚作为ADC采集电压的输入通道时,用其“
[单片机]