1、SPI协议简介 摩托罗拉提出的通讯协议,即外围设备接口 是一种高速全双工的通讯总线 被广泛用于ADC、LCD等设备与MCU间要求通讯速率较高的场合 2、SPI物理层 SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为SS,它们的作用如下: (1) SS ( Sla ...
分类:
其他好文 时间:
2020-05-29 15:08:57
阅读次数:
111
学习STM32开发,肯定少不了debug调试这一步骤。那么,本文带你了解一下这个调试相关的知识。本文以STM32F1、Cortex-M3为例,其它系列芯片或内核,原理相同或类似。1概况在STM32中,有很多调试组件。使用它们可以执行各种调试功能,包括断点、数据观察点、闪存地址重载以及各种跟踪。STM32F1使用Cortex-M3内核,该内核内含硬件调试模块,支持复杂的调试操作。硬件调试模块允许内核
分类:
其他好文 时间:
2020-05-25 15:18:16
阅读次数:
183
芯片锁死原因: 1、烧进去的工程对应器件与目标器件不一致; 2、烧进去的工程HSE_VALUE与目标板上晶振频率不一致; 解决方法: 1、工程设置 2、按住复位按键,或短接复位脚电容,点击下载,若弹出对话框点击No,恢复复位 3、若还不行,继续工程设置,重复步骤2 ...
分类:
其他好文 时间:
2020-05-24 16:25:00
阅读次数:
296
STM32 Embedded Software 工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD库)、HAL库、LL库 三种。前两者都是常用的库,后面的LL库是ST最近才添加,目前支持的芯片也偏少。各库如下所示: 其中,STD库和HAL库 ...
分类:
其他好文 时间:
2020-05-24 11:55:04
阅读次数:
76
经常遇到使用链表和结构中计算数组申请内存失败的情况,我的模板代码 startup文件中的宏定义 Heap_Size EQU 0x00000200,这里定义了512字节导致,手动修改这个地方的数值,因为单片机的内存是远远大于512字节的,具体和我们使用的stm32片子有关。我改为了Heap_Size ...
分类:
其他好文 时间:
2020-05-23 16:41:04
阅读次数:
81
这里的单脉冲控制是指在PWM下产生指定个数的脉冲。 先在CubeMx中按照PWM进行配置。 定义一个变量表示脉冲个数。 uint8_t PWMnum = 5; 开启PWM中断。 HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_1); 定义脉冲完成回调函数。 uint ...
分类:
其他好文 时间:
2020-05-23 15:03:36
阅读次数:
135
说明 这节实现的功能: STM32+W5500实现MQTT通信控制, 通过MQTT调试助手控制开发板两路继电器 485/422接口输入的数据通过W5500(MQTT) 转发给MQTT调试助手 MQTT调试助手发送的信息通过W5500(MQTT)转发到485/422接口输出 细节功能: 1.DHCP动 ...
分类:
其他好文 时间:
2020-05-23 09:58:54
阅读次数:
132
(1) STM32的复位时间至少要大于2个机器周期才生效,复位时间与RC值有关。 (2) 复位按键打开时,RES被拉R2拉高,合上按键,由于电容两端电压不能突变,电容会开始放电,放完后RES电位降到GND。 ...
分类:
其他好文 时间:
2020-05-22 21:46:00
阅读次数:
388
STM32中APB1和APB2控制对应表 分类 APB1 电源接口 UART2、UART3 CAN TIM2、3、4 SPI2 IIC1、IIC2 看门狗 USB APB2 GPIO_A-E USART1 ADC123 TIM1、8 SPI1 ALL ...
分类:
其他好文 时间:
2020-05-22 12:41:47
阅读次数:
91
按键可以用按键扫描的方法和外部中断的方法。 外部中断看前面,个人推荐使用外部中断更好。 其余情况可以用按键扫描,这里只讲按键扫描的方法。 先在main.h中定义按键名称 #define KEY0 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5) //KEY0按键PC5 #defi ...
分类:
其他好文 时间:
2020-05-22 09:35:56
阅读次数:
124