自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32---待机模式与独立看门狗的和谐相处(即在待机模式下不开启独立看门狗,在正常运行程序下开启独立看门狗)

/存放RTC的BKP寄存器的待机模式标志位与独立看门狗标志位。

2023-12-07 14:22:20 502

原创 stm32---ESP8266的基础 AT 指令、基础 Wi-Fi 功能 AT 指令、TCP/IP 功能 AT 指令

AT+CWSAP_DEF=<ssid>,<pwd>,<chl>,<ecn>[, <max conn>][,<ssid hidden>]:设置 ESP8266 SoftAP 的配置参数(注意:指令只有在。(3) SoftAP+station共存模式(混合模式):模块可在与其他设备链接的同时充当路由器,结合上面两种模式的综合应用,一般可应用在需要网络通信且在主从关系中的主机。AT+CIPSTA_DEF=<ip>[,<gateway>,<netmask>]:设置 ESP8266 Station 的 IP 地址。

2023-11-17 20:21:21 4962

原创 stm32知识点:关于用2个uint8_t类型数据表示1个int16_t的类型数据

首先定义一个uint8_t类型数组长度为2的uint8_t buf[2]; 而用buf[0]跟buf[1]组合表示1个int16_t的short类型数据.uint8_t类型的buf[0]跟buf[1]组成int16_t的short类型(-32768~32767)规律:1. 当buf[0] = 0;buf[1] = 1; short的数值为2562. 当buf[0] = 0;buf[1] = 2; short的数值为5123. 当buf[0] = 1;buf[1] = 0; short的

2023-11-14 20:34:24 479

原创 stm32---看门狗(独立看门狗IWDG,窗口看门狗WWDG)

【代码】stm32---看门狗(独立看门狗IWDG,窗口看门狗WWDG)

2023-10-12 12:33:36 214

原创 stm32---PWR电源控制(睡眠模式\停止模式\待机模式)

【代码】stm32---PWR电源控制(睡眠模式\停止模式\待机模式)

2023-10-11 17:39:18 1553

原创 stm32---实时时钟(RTC,BKP, PWR)

【代码】stm32---实时时钟(RTC,BKP, PWR)

2023-10-09 21:19:49 445 1

原创 stm32---软件SPI读写W25Q64(基于SPI模式0)

endif。

2023-09-23 12:01:39 341 1

原创 stm32---软件I2C读写MPU6050(了解MPU6050更多需要查阅手册)

【代码】stm32---软件I2C读写MPU6050(了解MPU6050更多需要查阅手册)

2023-09-19 17:45:58 398 1

原创 stm32---软件I2C通信

【代码】stm32---软件I2C通信。

2023-09-19 17:33:47 48

原创 stm32---串口收发文本数据(针对USART1)

【代码】stm32---串口收发文本数据(针对USART1)

2023-09-16 20:40:09 673 1

原创 stm32---串口接收与发送(针对USART1的Rx和Tx引脚)

【代码】stm32---串口接收与发送(针对USART1的Rx和Tx引脚)

2023-09-16 14:47:29 4466 1

原创 stm32---在keil 5中使用printf函数输出到串口USART(printf函数的移植方法)以及补充窗口printf函数输出汉字

2.在C/C++选项下的Misc Controls输入--no-multibyte-chars这串参数,然后点击OK。如果keil5选择的时utf-8格式,那串口助手也要设置成utf-8格式。在主函数main.c编写如下代码后直接运行.对sprintf进行可变参数的函数封装。3.在主函数main.c使用函数输出中文。4. 在串口助手就能看见输出的中文。串口助手也选择GBK格式。现在是GBK编码格式。

2023-09-15 00:58:07 8154 4

原创 stm32---DMA数据转运+AD多通道(针对DMA1通道和ADC1通道)

当DMA转运模式选择硬件源触发时(关键代码如下),需要查看手册,选择对应硬件触发源ADC1。

2023-09-13 20:02:22 224 2

原创 stm32---DMA数据转运(针对DMA1的通道1)

/1.开启AHB外设的时钟(DMA是AHB总线的设备)

2023-09-13 19:44:16 279 1

原创 stm32---ADC模数转换(针对ADC1通道实现)

*对应的引脚号*//*模块需要使用到的端口:GPIOA 或 GPIOB */

2023-09-13 15:17:29 469 1

原创 stm32---编码器接口(实现测量方向和速度的功能)

宏定义参数对GPIO配置时需要确定对应的TIM定时器以及通道1和通道2的引脚号上面代码对应以下功能的配置。

2023-09-08 15:57:01 635 1

原创 stm32---输入捕获IC(通道选择,主从触发模式,PWMI)

输入捕获基本结构主从触发模式PWMI基本结构

2023-09-07 18:36:12 254

原创 stm32 --- PWM驱动舵机转向(针对SG90舵机)

SG90舵机的控制条件通过设定PWM中的自动重装器,预分频,捕获比较器(ARR, PSC, CCR)来实现对舵机的控制 参照以下图表 根据SG90舵机的要求,要设定20ms的周期,即1s/20ms = 50Hz,占空比要设定在0.5ms~2.5ms之间 PWM频率: 72MHz / (PSC + 1) / (ARR + 1) = 50; PWM占空比: CCR / (ARR + 1) PWM分辨率: 1 / (ARR + 1) 因为占空比是不固定的,所以通过计算出理想的PSC值

2023-09-05 15:50:55 447

原创 stm32 --- 复用功能重映像AFIO配置(针对TIM2_CH1_ETR)

1.查看手册先清楚TIM2对应的有多少种重映像功能2. 查看芯片引脚图,PA15有其主要的功能为调试端口JTDI,不能作为普通IO口直接使用,所以需要关闭其调试功能的复用.3. 使用这个参数GPIO_Remap_SWJ_NoJTRST,会把PB4变为正常的GPIO口使用4. 使用这个参数GPIO_Remap_SWJ_JTAGDisable,会把PA15,PB3,PB4这3三个端口变成普通GPIO口。

2023-09-05 15:10:26 796

原创 stm32 --- PWM比较输出(针对TIM2的OC1通道)

2. GPIO配置(需要查看引脚图中OC1通道对应在芯片的哪个引脚上,如果该OC引脚被占用,则查看是否可以通过重定义功能重新定义在其他引脚上, 例如:OC1通道可以重定义在PA15引脚)(CK_PSC:芯片的内嵌工作频率, PSC:预分频, ARR:自动重装寄存器, CCR:捕获比较寄存器)PWM频率: 72MHz / (PSC +1) / (ARR + 1) = 1000。PWM占空比: CCR / (ARR + 1) = 50%PWM分辨率: 1 / (ARR + 1) = 1%

2023-09-05 13:59:51 548

原创 stm32---定时器外部时钟(针对TIM2)

1.开启APB1外设中的TIM2时钟2.配置GPIO(根据自己的stm32芯片引脚定义图确定TIM2的外部时钟引脚号,我这里是PA0号引脚)3. 配置ETR引脚的外部时钟模式24. 开启更新中断到NVIC的通路5. 配置NVIC6. 启动定时器(当产生更新时,就能触发中断)

2023-09-02 15:21:43 578

原创 stm32---定时器初始化函数编程(针对TIM2)

1. 开启通用定时器TIM2,因为TIM2是APB1总线的外设,所以需要使用APB1的开启时钟函数(且不同的stm32芯片所具有的定时器资源也不同)2. TIM2的时基单元由内部时钟驱动(可不写,因为上电默认是使用内部时钟进行驱动的)5. 启动定时器(当产生更新时,就能触发中断)3. 开启更新中断到NVIC的通路。6. 写通用定时器2的中断函数。

2023-09-02 14:16:58 659

原创 stm32-----定时中断基本结构

6. 第六步: 运行控制,且整个模块配置完成后,还需要使能一下计数器,让计数器运行(用以下函数配置)3. 第三步:配置时基单元(预分频器,自动重装器,计数器)用一个结构体配置就行(用以下函数配置)5. 第五步:配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级(用以下函数配置)4. 第四步:配置输出中断控制,允许更新中断输出到NVIC(用以下函数配置)2. 第二步:选择时基单元的时钟源(需要用以下6个函数来选择)8.获取标志位和清除标志位。7.获取当前预分频器的值。6.获取当前计数器的值。

2023-09-02 13:23:12 166

原创 stm32-----安装器件支持包(Keil 5才需要)

7.等右下角下载的进度条100%后,叉掉页面,keil 5的界面会显示提示框,提示:软件支持包安装完成,是否重新加载支持包,点击"是"3.安装完成后,打开keil 5新建一个工程,在选择工程设备中可以看见关于STM32F1的器件列表。4.展开后选择F103的F103C8器件,就可以新建工程了。4.更新完列表之后,在列表中找到如图的STM支持包列表选项。2.双击,路径自动选择自己安装的目录,所以直接next。5.展开列表后,有各种不同器件可以选择,根据需要下载。1.在keil 5界面中,点击图标。

2023-09-01 13:18:52 3149

原创 STM32----安装Keil5 MDK

STM32----安装Keil5 MDK

2023-09-01 12:48:04 146

空空如也

空空如也

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

TA关注的人

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