自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32之31.iic

一根是SCL,作为时钟同步线;一根是SDA,作为数据传输线。

2023-09-05 23:27:53 494

原创 stm32之30.DMA

DMA(硬件加速方法)一般用于帮运比较大的数据(如:摄像头数据图像传输),寄存器-》DMA-》RAM 或者 RAM-》DMA-》寄存器提高CPU的工作效率。

2023-09-03 22:37:34 629

原创 stm32之29.寄存器

打开芯片参考手册,每个芯片给每个外设都分配了相应地址,只要往相应地址写入数据就能驱动相应的外设

2023-09-03 21:38:08 123

原创 stm32之28.ADC

假设模拟电压2.1V,参考电压3.3v,4096/x=3.3/2.1 ->3.3x=2.1x4096 ->x=2,606.5。模拟电压/参考电压=4096/x。若对比值0~4096。

2023-09-02 20:56:49 884

原创 stm32之27.iic协议oled显示

汉字显示。

2023-08-30 16:43:39 430

原创 stm32之26.spi外设

片选引脚(/ss/cs):chip select。

2023-08-29 09:50:45 384

原创 stm32之25.FLASH闪存

【代码】stm32之25.FLASH闪存。

2023-08-27 17:09:42 530

原创 stm32之24.RTC闹钟usart端口修改配置

【代码】stm32之24.RTC闹钟usart端口修改配置。

2023-08-27 11:16:03 620

原创 c语言中strstr使用

如果你有两个字符串str1="hello world"和str2="lo",那么调用strstr(str1,str2)就会返回str1中"lo"的首地址,也就是str1+3。如果你把str2改为"hi",那么调用strstr(str1,str2)就会返回NULL。printf("子串在字符串中的位置是:%d\n", p - str1 + 1);//输出子串的位置,注意要加1,因为数组下标从0开始。//调用strstr函数,查找str1中是否有str2。

2023-08-27 09:30:25 234

原创 C 库函数 - atoi()

所指向的字符串转换为一个整数(类型为 int 型)。

2023-08-26 21:39:52 268

原创 stm32之23.RTC闹钟

主函数代码(有bug待修改)

2023-08-26 20:52:45 1341

原创 stm32之22.RTC时钟

【代码】stm32之22.RTC时钟。

2023-08-26 19:15:05 1448

原创 stm32之21.ROST(freerost)(待补充)

(待补充)

2023-08-25 21:42:36 145

原创 stm32 之20.HC-06蓝牙模块

原理图显示使用usart3串口使用的是PB10和PB11引脚。直接配置usart3串口协议。

2023-08-24 20:54:17 1391 1

原创 stm32之19.温湿度模块(待补充)

dht11

2023-08-24 18:26:34 348

原创 stm32之18.按键消抖(待补充)

2023-08-24 15:38:52 152

原创 STM32之17.PWM脉冲宽度调制

如果PWM信号的频率很高,比如大于80Hz,那么人眼就无法感知到灯的闪烁,而只能感知到灯的亮度。这时候,占空比越大,表示高电平的时间越长,灯就会越亮。如果PWM信号的频率很低,比如小于50Hz,那么人眼就能感知到灯的闪烁,而不是灯的亮度。这时候,占空比越大,表示高电平的时间越长,灯就会闪烁得更明显。一·LED0脉冲宽度调制在TIM14_CHI,先将LED(PF9)代码配置为AF推挽输出模式,将PF9引脚连接到TIM14,二·在配置TIM14定时器脉冲宽度。调动比较值1-100内,越小灯越亮。

2023-08-24 13:53:14 1189

原创 stm32之16.外设定时器——TIM3

【代码】stm32之16.外设定时器——TIM3。

2023-08-23 19:28:39 1773

原创 stm32之15.超声波与灯光功能一起实现(进阶)

* 初始化串口1波特率为115200bps,若发送/接收数据有乱码,请检查PLL *///官方要求,时间间隔60ms以上,防止发射信号对反射信号的干扰。printf("粤嵌\r\n");

2023-08-23 15:34:25 892

原创 stm32之14.超声波测距代码

/高速,速度越高,响应越快,但是功耗会更高。//高速,速度越高,响应越快,但是功耗会更高。//初始化串口1波特率位115200bps,若发送/接收数据有乱码,请检查PLL。//因为超声波的传输时间是发射时间+返回时间,所以需要除以/2。//只要有输出模式,肯定会有初始化电平的状态,看连接设备说明书。

2023-08-23 15:13:58 1908

原创 stm32之13.示波器波形图识别

蓝色和红色表示波形起始-停止信号,由图黄色可知是从10010101,与0xA9数据相反,所以是LSB最低位有效优先输出。

2023-08-22 21:40:24 408

原创 stm32之12.如何使用printf打印输出

/初始化串口1波特率位115200bps,若发送/接收数据有乱码,请检查PLL。//抢占优先级0~3,支持4级!主函数增加这些代码即可实现printf打印输出。//响应优先级0~3,支持4级!/* 返回发送的字符 */printf("请求");/* 发送一个字节 *//* 等待发送完毕 */

2023-08-22 21:24:47 1553

原创 stm32之11.USART串口通信

/初始化串口1波特率位115200bps,若发送/接收数据有乱码,请检查PLL。//配置USART1相关参数:波特率,数据位,停止位,校验位。

2023-08-22 21:04:32 825

原创 stm32之10.系统定时器

/ Enable SysTick timer with processor clock,启动系统定时器,其时钟源为处理器时钟168MHz。// Clear current value as well as count flag,清空当前计数值且清零count flag。// Disable SysTick,关闭系统定时器。// Disable SysTick,关闭系统定时器。delay_s()延时秒= delay_ms()毫秒*1000= delay_us()微秒*1000。

2023-08-22 15:16:02 328

原创 逻辑门-》与,或,非,异或,同或真值表

非门-->输入1,结果输出0, 输入0,结果输出1。与门-->相同输入为1结果为1,不同为0,相同输入为0结果都为0。同或门-->在异或前加个非门,异或后的结果取反。或门-->输入中有1结果为1,否则为0。异或门-->输入不同为1,相同为0。

2023-08-22 14:41:14 4278

原创 stm32之9.中断优先级配置

* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求。/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求。/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求。/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求。思考题:若不清空标志位,会出现什么现象?//抢占优先级0~3,支持4级!//响应优先级0~3,支持4级!//外部中断0的中断服务函数。//外部中断2的中断服务函数。//外部中断3的中断服务函数。//外部中断4的中断服务函数。

2023-08-21 20:20:48 359

原创 stm32之8.中断

(Exceptions)异常是导致程序流更改的事件,发生这种情况,处理器将挂起当前执行的任务,并执行程序的一部分,称之为异常处理函数。中断的异常处理程序也称之为中断服务例程(ISR).每个异常源都有一个异常编号,异常编号1--15为系统异常,异常16以上为中断,Cortex-M3和Cortex-M4处理器中的NVIC(嵌套向量中断控制器)设计可支持多达240个中断输入。然而,在实践中,在设计中实现的中断输入数量要少得多,通常在16-100的范围内,通过这种方式可以减少设计的硅尺寸,这也降低了功耗。

2023-08-21 19:31:30 433

原创 stm32之7.位带操作---volatile---优化等级+按键控制

源码---key_init();Led_init();while(1){PFout(9)=0;elsePFout(9)=1;else。

2023-08-21 14:51:42 387

原创 stm32之6.位带操作

Led_init();while(1)PFout(9)=0;delay();PFout(9)=1;delay();delay();delay();delay();delay();delay();delay();

2023-08-21 11:09:15 468

原创 stm32之5.长按按键(使用时钟源)调整跑马灯速度

* 长按按键才能够识别 */

2023-08-20 19:13:17 773

原创 stm32之4.时钟体系

1.LSI(RC振荡器时钟,也就是低俗内部时钟,该RC用于独立看门狗,也可选择提供RTC用于停机/待机模式下的自动唤醒(32KHZ))。2.LSE(外部晶振时钟(石英晶体),也就是低俗外部时钟,用于驱动RTC时钟(RTCCLK)(32.768kHZ))HSI(RC振荡器时钟,也就是高速内部时钟,一般来说很少用,因为精度没有外部高速时钟那么高(16MHZ))HSE(外部晶振时钟(石英/陶瓷谐振器),也就是高速外部时钟,GEC-M4开发板为(8MHZ))主PLL时钟,也就是锁相环倍频输出。

2023-08-20 14:10:17 370

原创 stm32之3.key开关

• 推挽输出和开漏输出的应用场合也不同,推挽输出适合于需要快速切换和稳定驱动的场合,如数字信号传输、LED驱动等,而开漏输出适合于需要进行电平转换和"线与"操作的场合,如I2C、SMBus等总线通信。• 推挽输出的缺点是不能实现"线与"功能,即多个推挽输出结构的GPIO相连在一起时,如果高低电平不一致,会造成短路和器件损坏,而开漏输出的缺点是高电平时没有驱动能力,且会带来上升沿的延时。GPIO_OType_PP//推挽输出。GPIO_OType_PP//开漏输出。判断按键是否有被使用。

2023-08-20 14:09:20 409

原创 stm32之2.点灯

计算公式:3.3V/330Ω=0.01A=10mA。灯的电流不得超过10mA,不然容易烧坏。

2023-08-20 14:06:17 95

原创 stm32笔记1.模拟简单延时函数

调用delay();

2023-08-20 14:04:19 133

原创 字符串的比较strcmp

字符串的比较strcmp

2023-03-21 19:41:22 76

原创 strtok切割神器

strtok切割神器

2023-03-21 19:29:21 55

原创 6818开发板实现显示触摸暂停功能

6818开发板实现显示触摸暂停功能

2023-03-07 19:34:14 269

原创 倒计时C语言

倒计时

2023-02-27 18:32:01 81

原创 基于一个单链表管理数据加一个内核链表管理客户端信息的航班管理系统

基于一个单链表管理数据加一个内核链表管理客户端信息的航班管理系统

2023-02-23 19:45:30 318

原创 设置密码可修改登录用户

设置密码可修改登录用户

2023-02-21 15:32:42 77

空空如也

空空如也

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

TA关注的人

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