- 博客(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---软件I2C读写MPU6050(了解MPU6050更多需要查阅手册)
【代码】stm32---软件I2C读写MPU6050(了解MPU6050更多需要查阅手册)
2023-09-19 17:45:58
398
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---编码器接口(实现测量方向和速度的功能)
宏定义参数对GPIO配置时需要确定对应的TIM定时器以及通道1和通道2的引脚号上面代码对应以下功能的配置。
2023-09-08 15:57:01
635
1
原创 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人