自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单片机毕设合集及代码答疑

有需要答疑请留言,看到就回复。

2024-04-04 21:29:16 1422 1

原创 江科大STM32学习笔记-I2C

这个SDA的控制权,写数据时,是从主机写数据到从机,因此控制权在主机,当读数据时,是指定地址读数据,因此时序图前半段的控制权在主机,由主机先指定设备地址并且指定寄存器地址后,再由从机进行读发的操作,所以后半段控制权在从机。对于指定从机地址(1),在指定从机寄存器地址下(2),写入指定数据(3)。以上三个字节每个字节写完时,都会有一个应答信号,主机主动释放SDA数据线,若SDA数据线没有回弹到高电平,代表此时正被从机拽着,产生了应答信号0,如果应答信号是1,则从机没有返回应答信号。

2023-12-08 19:26:28 106

原创 STM32定时器

7.知道了预分频器PSC和重装寄存器ARR之后,在写函数时,对这两个值进行更改,即可达到想要的计数时间。比如ARR设置1000-1,PSC设置72-1,就可以设置一个1ms的更新中断。是一个不断计数的过程,通过不断接收脉冲信号,来进行计数,计数周期也就是一个周期为多长时间,由预分频器PSC和内部时钟决定的。简单来说就是将这个脉冲信号分成多少份,比如将72M进行72分频,计数器得到1M的频率,所以达到一个分频的效果。也就是给计数器一个计数上限,达到这个上限就会自动清0重新开始计数。1.内部时钟CK_INT。

2023-08-29 22:21:03 472 1

原创 单片机寄存器

比如对ODR寄存器进行操作,让GPIOB所有的IO口输出高电平,那么先找到对应的地址0x4001 0C0C,直接写这个的话,编译器只会认为这是一个16进制数而不是一个地址,地址都是正数且且占四个字节的,因此要进行转换,*(unsigned int*)(0x4001 0C0C)这样可以进行强制转换为4个字节的整型指针数据,再用*把这个指针的地址取出来。为了更简单的使用寄存器(功能单元),可以利用宏定义的方式,将宏名(寄存器名)与宏体(寄存器实际地址)进行联系起来,后面直接对寄存器进行操作即可。

2023-08-29 22:19:58 208 1

原创 红外码(NEC协议)

1.编码(遥控器):首先,这个红外脉冲的载波频率为38Khz,也就是整个周期为26.31us,他会固定发出占空比为三分之一的脉冲。以上这一段就是完整的编码过程,可以发送一段NEC协议的数据。2.解码过程一样,就是从波形图上看,数据刚好倒过来了,因此解码跟编码是相反的。编写相应程序时,大多用while以及delay延迟函数进行相应的编码以及解码。红外遥控(NEC协议)

2023-08-29 22:19:05 1434 1

原创 STM32智能小车

这里需要注意的是,就好像我们配置按键时,会出现一个key,这个key是我们定义的,那么怎么让这个key跟我们的红外发射管传回来的值相对应呢,通过宏定义的方式,key作为宏体,宏名是一个GPIO读取函数,这个函数是库函数内部的,读取需要配置的参数有GPIO的选择还有引脚选择。还有就是要注意用到的引脚有没有复用功能重映射问题,如果有的话,需要对其进行配置,例如我当时用到的PB4和PB3,这两个引脚在复位以后,功能会改变,这个时候需要关闭JTAG,启用SW才可以正常使用,这里就是加一个函数对其进行配置即可。

2023-07-30 08:00:00 1251 1

原创 EXTI外部中断程序配置

(从GPIO>AFIO>EXTI>NVIC打通即可)1.配置RCC,需要的时钟打开,需要开启的时钟有。EXTI 和 NVIC 两个外设的时钟是一直打开着的,无需开启。2.配置GPIO,选择端口为输入模式。3.配置AFIO,选择用的那一路GPIO,连接到后面的EXTI。4.配置EXTI,选择边沿触发方式,比如上升沿下降沿双边沿等,还有选择触发响应方式,中断响应或者事件响应。5.配置NVIC,给我们这个中断选择一个合适的优先级。最后,通过NVIC,外部中断信号就能进入CPU了。

2023-07-29 03:48:50 384

原创 STM32中断

EXTI,TIM,ADC,USART串口,SPI通信,IIC通信,RTC实时时钟等几乎所有外设,都可以申请中断。中断函数是由硬件去调用的,但是由编译器得到的中断函数地址是不固定的,这时中断向量表就作为一个跳板,中断发生后,硬件就跳转到固定位置,然后在这个固定位置,由编译器自动加上一条跳转到中断函数得代码,这样中断跳转就可以跳到任意位置了。​看门狗,它就相当于一个计数器,用来检测程序运行状态的中断,比如程序卡死了,cpu没有及时喂狗,代表已经挂了,那么看门狗就会执行复位。

2023-07-29 02:11:23 167 1

空空如也

空空如也

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

TA关注的人

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