推荐阅读最新更新时间:2024-03-16 16:15
【跟着江科大学Stm32】GPIO_LED_流水灯_蜂鸣器
一、LED闪烁 #include stm32f10x.h // Device header #include Delay.h int main(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Spe
[单片机]
STM32 GPIO工作原理详解
1.STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 以STM32F103ZET6芯片为例子,该芯片共有144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。 STM32的大部分引脚除了当GPIO使用之外,还可以复用位外设功能引脚(比如串口),这部分在STM32端口复用和重映射(AFIO辅
[单片机]
STM32堆栈溢出的问题
在程序中出现栈溢出的情况,就是分配局部变量时因为内存溢出而重启,局部变量分配在栈中,栈区域满了导致溢出,需要修改startup_stm32f10x_hd.s中,或startup_stm32f10x_ld.s,startup_stm32f10x_md.s,具体文件按要看CPU是否是High-density flah,修改Stace_Size来解决。
[单片机]
STM32中定时器级联使用方法
TIM6&TIM7是基本定时器,而TIM10&TIM11&TIM13&TIM14不能工作在从模式下,因此没有以下表格 TIM1&TIM8工作在从模式时内部触发时钟可选项 TIM2&TIM3&TIM4&TIM5工作在从模式时内部触发时钟可选项 TIM9&TIM12工作在从模式时内部触发时钟可选项 ITRx由TS位确定,TIM1&TIM8工作在从模式下内部触发时钟的可选项,如果所选器件对应的定时器不存在则该选项也不存在,如TIM1可选择TIM5_TRGO/TIM2_TRGO/TIM3_TRGO/TIM4_TRGO。
[单片机]
stm32实现printf打印log的几种办法
在stm32单片机下,改一些bug的时候,光靠调试还不行,有时候需要打印log来查看某些变量在一段时间内的变化趋势,但是板卡又没有接串口,没办法重定向到串口打印,上网查资料研究了一下,发现以下几种办法可实现单片机像在pc终端一样打印log: 方法1:使用串口重定向,将printf打印的信息输出到串口,再将串口连接pc端串口接收终端,在终端上查看log.主要2个步骤:修改printf函数底层调用到的fputc函数和避免使用semihos TIng(半主机模式)。 a.如果使用mdk作为编译工具,在Target选项框里选Use MicroLib 选项,即为使用微库模式,不会使用半主机模式; b.工程中添加串口配置代码,方便
[单片机]
stm32调试遇到问题及解决
一、PB4始终是高电平,导致超声波传感器用不起来。 百度了一下,stm32有些管脚上电默认的功能不是通用的GPIO,比如JTAG与SWD调试管脚,所以如果想要使用这几个管脚作为通用IO口的话就必须将JTAG与SWD功能关闭,并且要开启AFIO时钟。即外设的复用IO。 加上这两句:RCC_APB2PeriphClockCmd(RCC_APBPeriph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE); 二、多通道AD转换时有一个引脚的电压没接外部电流时都是一点几伏 由于AD转换需要设置引脚为模拟输入,模拟输入的引脚电压不固定空引脚大概为1/2V
[单片机]
STM32 DMA 自我学习 简单总结
简单记录一下STM32的DMA的配置说明-------- 根据野火的串口的DMA程序,自己简单理解说明----- ----第一部分----DMA配置----- void USART1_DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //时钟 DMA_InitStructure.DMA_PeripheralBaseAddr = USART1_DR_Base; //设置DMA源:串口数据寄存器地址----基地址----如果后面打开了地址自增---则会传输连续
[单片机]
STM32 USB学习笔记1
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 之前在STM32论坛里领取过一块STM32开发板,本来以为是带有USB模块接口的,最后发现NUCLEO里是没有把USB模块外接出来的,所以就自个儿掏钱买了一块单板,如下图所示: 单板很简单,单纯是为了学习一下STM32的USB模块,之所以选择这个是因为它便宜,而且ST官方有提供USB模块库方便开发。 USB开发博大精深,比之串口,SPI,I2C来说多了很多东西,一个很简单的例子就是串口,SPI,I2C都可以使用通用IO口来模
[单片机]