stm32单片机
文章平均质量分 68
学习stm32的库函数编程
赫兹_Hz
这个作者很懒,什么都没留下…
展开
-
SPI通讯
SPI通讯spi通讯比iic通讯快的多数据帧格式有8位或16位触发方式有软件触发和硬件触发两种数据的读取时刻由CPOL(极性)和CPHA(相位)共同决定引脚:SCK:时钟线MISO:主机接收,从机发送MOSI:主机发送,从机接收NSS:片选信号线(低电平有效)程序的基本配置/*使用SPI2进行通讯引脚:NSS-PA2、SCLK-PB13、MISO-PB14、MOSI-PB15SCLK:主模式为复用推挽输出,从模式为浮空输入NSS:使用软件输,普通IO口即可MOSI:主原创 2021-07-13 08:57:43 · 605 阅读 · 0 评论 -
软件iic协议
软件IIC协议硬件连接时钟线:SCL线(外接4.7K欧姆的电阻)数据线:SDA线(外接4.7K欧姆的电阻)D0线:控制外设的地址SCL、SDA都有普通gpio口代替,通过控制gpio口的输入输出状态来模拟iic的读写过程,这就是软件iiciic的传输数据最高位400kHziic的时序图待机时:SDA线和SCL线都处于高电平启动条件:在·SCL为高电平的状态下,SDA有高电平转变为低电平(下降沿)void iic_start(void){ SDA_Write();原创 2021-07-11 14:41:00 · 1028 阅读 · 0 评论 -
DMA直接存储器访问
DMA直接存储器访问以存储器 ->外设为例void DMA_InitConfig(){ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);DMA_InitTypeDef DMA_InitStruct;DMA_InitStruct.DMA_PeripheralBaseAddr = (uint32_t) USART1_BASE+0x04 ; //外设地址DMA_InitStruct.DMA_MemoryBaseAddr = (uint3原创 2021-07-11 14:03:19 · 323 阅读 · 0 评论 -
串口通讯USART
串口通讯USART中断优先级选择static void USART_NVIC_Config(void) {NVIC_InitTypeDef NVIC_InitStruct;/* NVIC初始化结构体 */NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //优先级分组NVIC_InitStruct.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemption原创 2021-07-11 09:52:47 · 519 阅读 · 0 评论 -
外部中断exit
外部中断EXIT中断的原理不同的硬件对应不同的中断,计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行原创 2021-07-11 09:16:41 · 272 阅读 · 0 评论 -
系统定时器Systick
系统定时器Systick系统定时器一般用于延时程序程序:void Systick_delay_ms(uint32_t ms){ uint32_t i;/*最高为72MHz,当为72KHz时,计时为1ms当计数值为72时,计时为1us/SysTick_Config(72000);for(i=0;i<ms;i++){ /定时器计数器自减当计数器的值减少到0时,CTRL寄存器的值置1/while(!((SysTick->CTRL) & (1<<16原创 2021-07-11 08:41:41 · 858 阅读 · 0 评论 -
GPIO的初始化程序
GPIO初始化程序以GPIOA的PIN口为例void GPIO_InitConfig(){ /* GPIOA挂载在APB2总线上,需要开启APB2的时钟才能使用*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_x;(x= 0~15)GPIO_InitStruct.GPI原创 2021-04-07 08:59:22 · 4264 阅读 · 0 评论 -
GPIO的基本原理
注意:以下内容据来自stm32中文参考手册GPIO端口的寄存器组成1.两个32位的控制寄存器(GPIOx_CRL、GPIOx_CRH)。注意:x代表GPIO的端口组(A、B、C、……)2.两个32位的数据寄存器(GPIOx_IDR、GPIOx_ODR)。3.一个32位的置位/复位寄存器(GPIOx_BSRR)。4.一个16位的复位寄存器(GPIOx_BRR)。5.一个16位的锁定寄存器(GPIOx_LOCK)。(一旦gpio端口锁定之后,再次复位gpio端口时,gpio端口的状态将不会改变)原创 2021-03-31 14:15:54 · 2009 阅读 · 0 评论