自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 江协STM32:EXTI外部中断

把中断程序再次中断的现象,叫做中断嵌套 正常情况下,程序就是在主程序 里不断循环执行,当中断条件满足时,主程序就会暂停,然后自动跳到中断程序里运行,中断程序执行完之后,在返回主程序继续执行一般中断函数都在子程序里面,这个函数不用我们调用,当中断来临时,由硬件自动调用这个函数 这就是中断执行流程 STM32中断也就是我们复位后程序开始执行的位置第一个比如你的程序卡死了,没有及时喂狗,窗口看门口就会申请中断,让你的程序调到窗口看门狗的中断程序里第二个其他本节用到的响应优先级和抢占优先级总结:响应优先级就是插队,

2024-05-08 21:57:32 220

原创 STM32CubeMX:中断系统与外部中断基础《学习笔记》

中断向量实际上就是一个入口地址,入口地址对应的是一个中断源的中断请求,可以理解成,中断服务函数的指针,在这个指针里面放着一个中断服务函数,一旦对应的中断源被CPU响应之后,它就会自动到这个地址去运行,相关的中断服务函数来处理这个中断源,相应的一些逻辑。因为外部中断5-9都在同一个中断号里,所以它俩共用一个中断服务函数。在这个文件里面,外部中断初始化就放在了这个函数里面。这就是它的中断服务函数,这样它的第一个就结束了。跳转这个函数,这里就是外部中断的初始化。这个就是它的中断服务函数。设置KEY外部中断引脚。

2024-05-08 20:21:45 228

原创 STM32CubeMX:按键开发基础《学习笔记》

这个函数有返回值,它的返回值是我们读到这个引脚它的状态,引脚状态无非就两种,一种是零,一种是一,在STM32HAL库,它把零电平和一电平做成了枚举。GPIO_PIN_RESET是这个函数的返回值,这个是低电平。GPIO_PIN_SET是这个函数的返回值,这个是高电平。这两个函数没有返回值。

2024-05-08 20:06:45 183

原创 STM32CubeMX:GPIO开发基础《学习笔记》

在STM32芯片里面,上电复位之后,所有外设的时钟都是关闭的,所以你用哪个外设就开启哪个外设的时钟,否则外设不能工作。你想输出高电平还是低电平,根据STM32Cube这个工具上你指定的默认参数是什么,你就怎么写。上拉输入:当我们要进行一些按键的处理,外面一般情况下会把这个引脚输入设成上拉输入。电平翻转:根据引脚当前的这个电平状态,来输出一个跟它相反的电平状态。如果目前是高电平,那么执行完这个函数就输出低电平。推挽输出:理解成普通的高低电平输出就行。输入模式用的多的就是上拉输入。

2024-04-09 17:08:57 366

原创 STM32CubeMX配置:LED灯闪烁《学习笔记》

把代码写在这两个箭头之间,如果你写在这里面了,然后你的项目硬件发生了变化,你需要修改功能,需要修改外设的参数的时候,通过STM32Cube在一次来配置它的时候,在原有的基础上是在覆盖这个文件,你新生成的代码是不会把它覆盖掉的,要是写在外面就会被覆盖掉。然后这么操作,因为要闪烁,所以需要一会亮一会不亮,所以还需要延时,STM32自带延时函数,这个延时函数只是用来实现这个例子,如果以后做别的项目,就不能用这个延时函数。然后出现这个说明生成完毕,,如果你想看所在位置就点最左边的,如果不想看,就点最右边,然后。

2024-04-09 15:39:29 534

原创 江协STM32学习笔记:PWM驱动LED

这四个此时和函数,对应四个输出比较单元,你需要初始化哪个通道,就调用哪个函数,不同的通道对应的GPIO口也是不一样的,所以按自己的GPIO口需求来,这里的四个函数,这是用来配置强制输出模式的,如果你想在运行中想要暂停输出波形并且强制输出高或低电平,可以用这个函数,了解一下就行,不需要掌握。这些函数,是用来单独设置输出比较的极性的,有N的是高级定时器里互补通道的配置,OC4没有互补通道,所以就没有OC4N的函数。第四个,用来设置CCR寄存器值的,它的参数可以是0到FFFF之间的一个值,16位的范围。

2024-04-08 19:43:43 647

转载 江协科技STM32:TIM输出比较

比如你设置CCR为0,那CNT每次更新清0时,就会产生一次CNT=CRR的事件,这就会导致输出电平翻转一次,每更新两次,输出为一个周期,并且高电平和低电平的时间是始终相等的,也就是占空比始终为50%,当你改变定时器的更新频率时,输出波形的频率也会随之改变,它俩的关系是,输出波形的频率=更新频率/2,因为更新两次输出才为一个周期,这就是匹配时电平翻转模式的用途。对于电机调速也是一样,我们以一个很快的频率,给电机通电,断电,通电,断电,电机的速度就能维持在一个中等的速度。

2024-04-06 18:52:32 894 13

转载 江协STM32:对射式红外传感器计次和旋转编码器计次

如果你想在主程序查看和清除标志位,就用162和163,如果你想在中断函数里查看清除标志位,就用164和165,其实本质上,这四个函数都是对状态寄存器的读写,162,163,和164,165两个类似的功能,都是读写状态寄存器,只不过164和165只能读写与中断有关的标志位,并且对中断是否允许做出了判断,而162,163这两个函数知识一般的读写标志位,没有额外的出来,能不能触发中断的标志位都能读取,所以建议在主程序里用162和163,中断程序里用164和165。

2024-04-05 22:11:23 595 1

转载 江协STM32:定时器定时中断和定时器定时闹钟

3.TIM_TIxExternalClockConfig:选择TIx捕获通道到时钟,第一个参数TIMx选择要配置的定时器,第二个参数选择TIx具体的个引脚,后面两个参数,是输入的极性和滤波器,对应外部引脚到波形,一般都会有极性选择和滤波器,这样更灵活一些,调用这个函数,就是下图。第二步:选择时基单元的时钟,我们要选择内部时钟,参数些TIM2,这样TIM2到时基单元就由内部时钟来控制了,这个代码可写可以不写,因为定时器上电后默认就是使用内部时钟,如果不调用这个函数,那也是使用的内部时钟。

2024-04-04 19:43:16 859 1

转载 江协科技STM32:按键控制LED&光敏传感器控制蜂鸣器

这两个电路接法按键按下时引脚是低电平,松手是高电平这两个接法是按下时是高电平,松手是低电平。

2024-03-29 00:07:54 1028 1

原创 江协STM32:点亮第一个LED灯和流水灯

351行函数,非常重要,这个函数的作用是用结构体的参数来初始化GPIO口,我们需要先定义一个结构体变量,再给结构体赋值,最后调用这个函数,这个函数内部就会自动读取结构体的值,然哈自动把外设的各个参数配置好。流水灯是用GPIOA的0-7号端口,所以这里要加端口1-7,在GPIO_Pin_0后面或运算GPIO_Pin_1或运算GPIO_Pin_2,这样就可以一次性把三个端口一次性都初始化了。当这个GPIO_Inlt函数执行完,这个GPIO外设的0号引脚就自动被配置为推挽输出,50HZ的速度了。

2024-03-27 22:57:13 879

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除