stm32
now
讀书会上瘾
展开
-
stm32——PWM实现呼吸灯效果
led为什么可以越来越亮,越来越暗?由不同的占空比决定(占空比由CCRx决定)。使用pwm点亮led,实现呼吸灯效果。④配置io口的pwm输出。修改比较值,修改占空比。② RCC设置时钟来源。原创 2023-06-04 23:39:59 · 533 阅读 · 0 评论 -
stm32——PWM概述
STM32F103C8T6中硬件就可以生成PWM方波,芯片中的PWM资源。在向上计数时,一旦CNT<CCRx时输出为有效电平,否则为无效电平;在向下计数时,一旦CNT>CCRx时输出为无效电平,否则为有效电平。在向上计数时,一旦CNT<CCRx时输出为无效电平,否则为有效电平;在向下计数时,一旦CNT>CCRx时输出为有效电平,否则为无效电平。占空比:由CCRx决定,有效电平占一个周期的比例。通用定时器(TIM2-TIM4):各4路。有效电平可以是高电平,也可以是低电平。高级定时器(TIM1):7路。原创 2023-06-04 19:35:20 · 425 阅读 · 0 评论 -
stm32——定时器中断点亮led
PSC、RCC、自动重装载。配置TIM2定时器:clock source为internal clock(时钟来源)使用定时器中断方法,每500ms翻转一次led状态。定时器中断调用的虚函数:(进行重写)原创 2023-06-04 19:06:59 · 494 阅读 · 0 评论 -
stm32——定时器
使用精准的时基,通过硬件方式,实现定时功能。定时器核心时计数器。例如要定时500ms,则PSC=7199,ARR=4999,Tclk=72M。.触发输入作为外部时钟或者按周期的电流管理。不精确,占用cpu资源。基本定时器(TIM6-TIM7))控制定时器和定时器互连(可以用。计数器启动、停止、初始化或者由内部。通用定时器(TIM2-TIM5)高级定时器(TIM1&TIM8),计数器时钟频率的分频系数为。个定时器控制另外一个定时器).更新:计数器向上溢出。向下溢出,计数器初始化。向下自动装载计数器(原创 2023-06-04 18:38:45 · 202 阅读 · 0 评论 -
stm32——电动车报警器
1、先用PA4中断实现按键点亮D3_PB8:SYS选择串口→RCC配置外部晶振、clock配置时钟→PA4设置为下降沿中断,NVIC打开中断→PA8电平设置为高→命名为alert_project→toolchain/IDE配置为MDK-ARM→对代码生成.c/.h文件→生成完成。2、添加M433控制,按键按下,电平拉高(上升沿中断),并且换为PB7连接继电器,添加mark标志位,a按键按下标志on,b按键按下标志off,在on的状态下触发震动传感器喇叭才会一直响。原创 2023-06-03 17:17:04 · 227 阅读 · 0 评论 -
stm32——中断方法点亮led
2、重写HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);2、配置GPIO口:在GPIO中配置按键&led相关的io口,led为PB8\PB9配置为output配置为默认高电平;按键为PA0\PA1配置为GPIO_EXTI0\GPIOEXTI1,需要配置触发方式,上升沿、下降沿、上升下降沿触发。1、配置时钟:cude MX里边选择串口→RCC里选择时钟外部晶振→clock configuration中配置时钟,HES、PLLCLK、72,时钟配置完成。原创 2023-06-03 16:13:51 · 149 阅读 · 0 评论 -
stm32——中断
产生中短线路目的是把输入信号输入到NVIC,进一步会运行中断服务函数,实现功能,这样是软件级的。EXTI可以实现对每个中断/事件进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。响应优先级:抢占优先级相同,高响应优先级不能打破低响应优先级,当两个抢占优先级相同的中断同时发生的时候,哪个响应优先级高,哪个先执行;EXTI_Trigger_Rising_Falling = 0x10 //上升沿和下降沿都触发。抢占优先级:高中断优先级会打破低中断优先级,优先运行高中断优先级。原创 2023-06-03 15:40:41 · 285 阅读 · 0 评论 -
stm32——复位和时钟控制
打开cude MX→先将sys里debug改为串口→rcc里HSE(高速外部时钟)选择Crystal/Ceramic Resonator→然后打开clock configuration→勾选HSE、勾选PLLCLK→HCLK中填写72,最大MHz→最后'/'是分频,X是倍频,达到我们需要的时钟(产品手册5.3.1可以查到需要配置的最大或最小时钟)→生成时钟相关的代码(看工作需求,用到什么配置什么)系统复位对应芯片7引脚RST,系统复位和上电掉电都是整个系统的复位,备份域复位只影响备份区域。原创 2023-06-03 14:57:59 · 325 阅读 · 0 评论 -
stm32——按键控制led
打开keil5先编译文件(否则不能快速寻找文件对应的位置f12)→定义key的状态(看对应引脚是高电平还是低电平,需要进行读取引脚的操作,如果读取到的引脚==reset低电平,则该按键被按下为key_on状态,否则未被按下为keyoff状态)→main函数中用轮询法while(1)不断循环来判断按键的状态控制D3,D5的亮灭,ifsw1=keyon、D3亮,否则不亮。D5判断同样如此,这里运用了io口的翻转来控制,并且添加while卡按键松开再亮。1、用cude MX程序生成keil5文件。原创 2023-06-03 14:38:16 · 693 阅读 · 0 评论 -
stm32——认识stm32
是一种集成电路芯片,把处理器cpu、存储器ROM、多种io口和中断系统、定时器、计数器等功能集成到一块硅片上构成的一个微型的计算机系统。8——64k字节型闪存存储器,4=16k\6=32k\b=128k\c=256k\d=384k\e=512k。C——48脚,引脚数T=36\R=64\V=100\Z=144。缺少标准库与HAL库的区别、认识GPIO口、推挽&开漏对比。103——增强型,101=基本型、102=usb基本型。6—— -40~85温度范围,7=-40~105。T——封装,LQFP封装。原创 2023-06-03 13:43:36 · 123 阅读 · 0 评论 -
stm32——cubeMX的使用
2、Pinout &Configuration输入芯片的型号STM32F103C8T6→生成的文件中双击打开该芯片→选择操作的引脚要操作的内容→System core打开GPIO进行操作→System core中SYS中debug设置成serial wire(串行线调试)此时PA13&PA14自动配置。4、Project Manger→project设置项目名字,存储地址(路径中不带有中文路径)→Toolchain/IDE中选择MDK-ARM(建立完成自动生成keil5文件打开)原创 2023-06-03 13:42:24 · 873 阅读 · 0 评论 -
stm32——keil5的使用
https://www.st.com/en/development-tools/stsw-link009.htm官网可以下载(直接从资料包配置)设备管理器→STM32 ST-LINK→属性→更新驱动程序→浏览我的电脑→粘贴驱动路径安装驱动。烧录工具有很多种,比如串口、J-Link、U-Link、ST-Link等。接线:swclk(时钟)、swdio(io口相关的通信线)、gnd。4、配置魔术棒→debug→ST-Link debugger。第二个按钮:只编译有修改的文件生成一个.hex文件。原创 2023-06-03 13:35:41 · 584 阅读 · 0 评论