推荐阅读最新更新时间:2024-11-11 10:52
STM32调试-串口打印函数及使用方法
1.在usart.h文件里,添加以下代码: #if 1 #pragma import(__use_no_semihosting) //标准库需要的支持函数 struct __FILE { int handle; }; FILE __stdout; //定义_sys_exit()以避免使用半主机模式 _sys_exit(int x) { x = x; } //重定义fputc函数 int fputc(int ch, FILE *f) { while((USART1- SR&0X40)==0);//循环发送,直到发送完毕 USART1- DR = (u8) ch;
[单片机]
STM32—SPI读写FLASH
FLASH简介 FLASH俗称闪存,和EEPROM一样,都是掉电数据不丢失的非易失行存储器,但FLASH的存储容量普遍大于EEPROM,现在像如U盘、SD卡、SSD固态硬盘以及STM32芯片内部存储程序的设备都是FLASH类型的存储器。由此可见FLASH对于我们学习和工作的重要性,EEPROM可以实现单字节的擦写,而FLASH都是一大片的擦写,就像是大规模杀伤性武器,其最小擦除单位:扇区的大小也是4KB。 我们此次通过SPI对FLASH存储芯片W25Q64进行读写擦除的操作。 对于FLASH内部结构的详细说明博主会专门整理一篇博客来说明,所以关于FLASH芯片的相关原理,本文中只做简单说明,侧重代码部分。 FLASH详细说明的
[单片机]
stm32常见通信方式(TTL、RS232、RS485、CAN)总结
一、TTL电平:全双工(逻辑1: 2.4V--5V 逻辑0: 0V--0.5V) 1、硬件框图如下,TTL用于两个MCU间通信 2、‘0’和‘1’表示 二、RS-232电平:全双工(逻辑1:-15V--5V 逻辑0:+3V--+15V) 1、硬件框图如下,TTL用于MCU与PC机之间通信 2、‘0’和‘1’表示 三、RS-485:半双工、(逻辑1:+2V--+6V 逻辑0: -6V---2V)这里的电平指AB 两线间的电压差。 1、硬件框图如下 2、‘0’和‘1’表示 四、CAN总线:逻辑1:-1.5V--0V 逻辑0:+1.5V--+3V)这里的电平指CAN_High、CAN_Low 两线
[单片机]
STM32待机唤醒操作
1.关于待机模式与断电模式的区别: 下图参考手册P37电源控制章节: stm32关于待机模式下,该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、 HSI和HSE振荡器也被断电。 SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。也就是说,待机模式下 ,STM32的除了备份区以外,待机电路中的比如唤醒电路和看门狗仍然是工作的,而普通IO口由于PLL、HSI、HSE的断电均高阻态无法工作。比如我们设置了WKUP唤醒,那么即使待机模式下,PA0仍具有检测上升沿实现唤醒功能(注意,待机状态下这种唤醒并不是外部中断,中断控制器都停止工作了!) 而断电模式则是只有后备区域供
[单片机]
STM32移植lwip之建立tcp客户端
本篇目标:在之前能ping通pc机的工程基础上搭建tcp客户端,并可以主动发数据给pc机,同时也能与pc机收发数据,并在网络调试工具上显示 材料准备: 基础工程:修改后能ping通pc机的工程( STM32官方移植lwip修改代码 ) 调试工具:用来调试tcp连接下的数据接收( 网络调试助手 ) 搭建工程:最终搭建好tcp客户端数据接收的工程( tcp客户端建立工程 ) 搭建TCP客户端 搭建TCP客户端的过程与上一章TCP服务器也相似,所以尽量把重点的地方加粗显示来区别 在搭建TCP客户端之前可以先理一下概念,客户端与服务器的区别: 客户端:主动建立tcp去连接目标IP 服务器:拥有静态IP,能让其他设备被动连接
[单片机]
STM32库函数开发&按键库函数开发源码篇
LED流水灯 led.h #ifndef __LED_H #define __LED_H #include stm32f4xx.h void Led_Init(void); void Led1_Init(void); void Led2_Init(void); void Led3_Init(void); void Led4_Init(void); #endif typedef struct { uint32_t GPIO_Pin; /* 指定要配置的GPIO引脚 */ GPIOMode_TypeDef GPIO_Mode; /* 指定选定接点的操作模式。*/
[单片机]
STM32MCU电源的低功耗模式
先看一下数据手册上对低功耗 的介绍。 1、睡眠模式(sleep mode) 仅仅是内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行。 2、低功耗运行模式(Low-power run mode) 该模式通过低功率调节器提供的VCORE来实现,以最小化 调节器的工作电流。代码可以从SRAM或Flash执行, CPU频率限制在2MHz。具有独立时钟的外围设备时钟可以来自HSI16。 3、低功耗睡眠模式(Low-power sleep mode) 从低功耗运行模式进入该模式。只有CPU时钟停止。当有事件或中断触发唤醒时,系统将恢复到低功耗状态运行模式。 4、停止模式(STOP) 停止
[单片机]
STM32如何确定执行哪个中断函数
如下面所示: NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //NRF24L01 中断响应 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优先级 0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //子优先级为1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能 NVIC_Init(&NVIC_InitStructure); 则对应的中断函数就是 STM3210x_
[单片机]