推荐阅读最新更新时间:2024-03-16 15:14
stm32 GPIO口配置操作
stm32里面最基本的思路就是使用外设相应寄存器之前,必须开启控制对应寄存器的时钟,读者可到技术手册中查询相应的时钟控制的相应的寄存器。 这里首先开启stm32普通io口的时钟。 GPIO 作为通用输入输出口使用时,当有外部中断设置时才需要开启AFIO时钟,否则不需要开启AFIO 时钟。 然后就是进行gpio结构体的初始化设置 GPIO 常用设置里包括三个结构体的使用如下: 1、GPIO_InitTypeDef为GPIO的基本参数设置结构体,其中GPIO_Pin表示引脚号,GPIO_Speed表示引脚的速度,GPIO_Mode表示引脚的输入输出模式选择。通过这三个基本设置实现了
[单片机]
关于使用STM32 SPI3的一些总结
总结一下spi3的问题,因为spi3的nss口与JTAG有共用引脚,所以配置错误会导致SPI3无法使用。需要注意以下三点就可以了: 1.将PA15配置为普通IO口,GPIO_Mode_Out_PP 2.开启AFIO时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 3.关闭JTAG功能,使能SWD GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE) ; 其他的SPI口正常配置,因为板子重启后默认为JTAG模式,虽然在调试时使用了SWD,但PA15依然不是普通的IO口,当把它重新配置时,一定要开启AFIO时钟,
[单片机]
STVP中optionbyte页的ROP影响FLASH
近日调试中发现,STM8系列开发工具中的脱机下载软件,在OPTIONBYTE页上,有一个读写保护的选项ROP,这里可以选择为使能和禁用。。。 如果该选项选择为ON时,即读写保护,不管下一次你是用STVP来下载程序,还是用STDP开发环境用源码来下载程序,都会先清除单片机内的FLASH。 请特别小心。。。不注意此细节,批量时累死你。。 下图就是STVP中的ROP选项 当脱机下载程序如上图设置时,如果程序有修改,用STDP调试下载的时候,会出现如下的对话框 把上图中的ROP给禁用了就能够下载程序了,要注意,这时FLASH将会被擦除。
[单片机]
STM32单片机是怎样执行中断函数中的应用的
在STM32单片机的编程当中,中断函数的名称都是xxx_IRQHandler格式的。那当编译程序的时候是怎么知道这是一个中断函数的呢? 每个中断都是有入口地址的。程序在执行过程中遇到中断的时候,会先判断这个中断的类型,根据类型再到中断向量表中查找,找到之后,根据表中指明的地址,程序就跳到该地址开始执行代码。 ST提供的固件库当中,有提供一个stm32f10x_it.c文件,打开之后会发现里面放的都是些空函数,但是名字都是“xxx_Handler()”格式,需要使用某个中断的时候,在代码中使能该中断,并到这个文件中将中断服务函数添加上,就可以了。 而这些名字就是一个个的中断函数入口地址。在启动代码中便有这些定义。如下图所示:
[单片机]
基于STM32智能马蹄锁设计
1. 前言 设计一款基于单片机的家用马蹄锁,主要用在自行车、共享单车上。 主要要求: 1、手机蓝牙直连控制开关:手机直接连接智能马蹄锁可以控制其开锁关锁的功能。 2、即连即开: 手机端与智能马蹄锁第一次连接成功后可以选择即连即开模式,在之后距离智能马蹄锁一定范围内,智能马蹄锁会自动打开。 3、即走即关:手机端与智能马蹄锁第一次连接成功后可以选择即连即走即关,在之后离开智能马蹄锁一定范围,智能马蹄锁会自动关团。 4、实体触控按键控制开锁手动关锁。当用户无法使用蓝牙功能时,可以使用侧面实体触控按键进行密码解锁。 5、GPRS防盗预警当自行车在智能马蹄锁住的的情况下三轴加速度传感器检测到车辆被长时间移动时会向用户
[单片机]
全网最全STM32 HAL的知识总结
ST 为开发者提供了非常方便的开发库:有标准外设库(SPL库)、HAL 库(Hardware Abstraction Layer,硬件抽象层库)、LL 库(Low-Layer,底层库)三种。前者是ST的老库已经停更了,后两者是ST现在主推的开发库。 相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,ST新出的芯片已经没有STD库了,比如F7系列。目前,HAL库已经支持STM32全线产品。 通过文字描述可以知道HA
[单片机]
STM32关于USART的问题集锦
STM32F207的串口问题 问: 答1:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTx, ENABLE) for USART1 and USART6 * RCC_APB1PeriphClockCmd(RCC_APB1Periph_USARTx, ENABLE) for USART2, USART3, UART4 or UART5. * 3、stm32中的串口通信中的USART_WordLength,数据位的长度包不包括开始位哪些? 问:stm32中的串口通信中的USART_WordLength,数据位的长度包不包括开始位哪些? 答:不包括开始位,如果你有 校验(奇 偶)的
[单片机]
VxWorks中怎么从Flash BOOT
作者Email: jinyuhe@163.com
摘要:
本文主要介绍VxWorks系统在MPC860系列处理器的开发中怎么实现去掉BOOT Flash,直接从Flash引导VxWorks的BootRom。
关键词:BOOT Flash,Flash,BootRom
引言
美国WindRiver公司的实时嵌入式系统VxWorks和美国Motorola公司MPC860系列处理器已经广泛的应用在通信行业的通信产品中,在用VxWorks系统进行开发时,会生成两个文件,一个是BootRom文件,此文件类似Windows中的BIOS,是引导文件,完成内存初始化,内核初始化,基本硬件的初始化并最终引导VxWorks系统启动,另外一个是
[嵌入式]