STM32学习
STM32学习分享文章
Hello wl
这个作者很懒,什么都没留下…
展开
-
stm32 函数指针用法笔记
stm32 函数指针用法笔记原创 2023-01-26 11:03:57 · 1350 阅读 · 1 评论 -
STM32CubeProgrammer 下载HEX程序步骤
STM32CubeProgrammer 下载HEX程序步骤原创 2022-03-28 15:57:22 · 4299 阅读 · 0 评论 -
STM32F0 系列IAP升级笔记
注意:F0系列在app工程中需要添加中断偏移函数,在MDK中要修改偏移地址,IROM1和IRAM1;具体一致文件请参考我之前发布的iap教程,此处只做区分笔记;1、IAP程序:2、app程序#define APPLICATION_ADDRESS ((uint32_t)0x08003000) //application load address #define SRAM_ADDRESS ((uint32_t)0x200...原创 2021-08-07 00:02:14 · 890 阅读 · 4 评论 -
STM32 移植RT Thread中内存溢出 “No space in execution regions with ”
一、报错代码:.\build\keil\Obj\rt-thread.axf: Error: L6406E: No space in execution regions with .ANY selector matching timer.o(i.rt_system_timer_thread_init)..\build\keil\Obj\rt-thread.axf: Error: L6406E: No space in execution regions with .ANY selector matc原创 2021-04-03 23:34:12 · 1467 阅读 · 0 评论 -
STM32用hal库读写flash
这篇文档用了记录之前未添加的代码,具体含义请百度,谢谢;1、“.c” 文件/********************************************************************************************* File Name : user_flashfunction*** Description : *** writer timer version*** XXXX 2020原创 2021-02-21 14:31:41 · 2434 阅读 · 3 评论 -
STM32 用cubemx移植IAP功能,实现串口升级
感谢网上的大神,通过你们的文章我终于测试iap升级通过了,具体iap功能我白嫖一段:程序上电先进入 bootloader代码功能,后面通过bootloader跳转到用户的功能代码中;使用的开发板芯片:STM32F103VET6,串口1升级,PA0升级程序,PA1跳转到APP功能;1、程序bootloader工程搭建:2、搭建app工程:3、功能验证:注意:1、查看移植是否...原创 2021-02-19 11:35:02 · 3119 阅读 · 11 评论 -
cubemx配置STM32的USB HID记录
首先感谢网上的大神,我这篇文章也是白嫖的,如有侵权请联系,谢谢!大神连接:参考1、cubemx配置:2、MDK程序添加2.1、程序中已经有函数,只需添加数据即可/** Usb HID report descriptor. */__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END ={ /.原创 2021-02-08 23:44:12 · 1168 阅读 · 2 评论 -
STM32-CubeMx配置can功能
感谢网上大神,附上链接:https://mculover666.blog.csdn.net/article/details/110148532?depth_1-如有侵权请联系谢谢!1、配置STM32F103C8T6开发板的 CAN通讯,需要配置CAN和调试串口;2、CubeMX配置没有CAN模块配置如下:3、CubeMX配置有CAN模块配置如下:如果是环回模式,串口收到的数据是自己发出的ID;源码链接:链接:https://pan.baidu.com/s/1原创 2021-01-29 09:37:25 · 8631 阅读 · 5 评论 -
STM32软件仿真问题
各位大佬早上好呀,今天必须记录一下MDK仿真问题:软件仿真定时器定时发现定时器,定时始终不对,昨晚一直调试到凌晨,哈哈;今天直接debug硬件仿真,一切功能正常,所以在此记录做一下深刻的记录,一定一定要以硬件调试为准。以下是仿真配置方式:1、确定芯片2、选择软件仿真和参数DARMSTM.DLL-pSTM32F103C8...原创 2021-01-13 09:13:00 · 899 阅读 · 2 评论 -
STM32 CubeMX配置串口DMA收发,使用串口空闲中断方式
最近小编调试串口功能发现普通方式非常暂用时间,在此记录一下串口DMA方式加串口空闲中断方式收发数据;1、cubemx配置:串口1的DMA方式,修改中断优先级,串口DMA发送一次不需要循环发送,串口宽度Byte;二、源码:文件main.c中:/* USER CODE BEGIN Includes */#include <stdio.h> //uart redirect fputc#include &...原创 2020-12-17 11:08:55 · 3621 阅读 · 5 评论 -
STM32自定义printf功能方法
最近在朋友那学到了如何重定义STM32的printf类似函数,在这做下记录:1、功能函数:/********************************************************************************************* 函数名称: Debug_Printf*** 输入参数: 无*** 返 回 值: 无*** 说 明:自定义串口 printf功能*** 功能说明:*** 编者 时间原创 2020-12-08 17:17:23 · 2397 阅读 · 0 评论 -
STM32用cube配置SPI问题记录
最近小编出差南京,到沿海看看前沿的技术,不得不说内地和沿海差距还蛮大的,所以回来后继续加油吧少年,嘿嘿!今天在配置SPI的时候发现STM32读取数据和逻辑分析工具分析的数据不一致,后面发现是SPI速度配置的问题,所以在此记录一下:1、cube配置:/********************************************************************************************* 函数名称: ad1616_initDrive..原创 2020-12-06 15:28:20 · 1928 阅读 · 3 评论 -
STM32的hal库 定时器刹车配置
最近小编在调试STM32的hal库,TIM1波形刹车控制在此做以下几点总结,如有问题在相互交流谢谢!1、用cube配置TIM1定时配置PWM输出,使能定时器自动重载,刹车自动恢复:2、程序:uint16_t dutyCycle = 1;uint16_t test_value[5];uint16_t pwmStartUp =0; /* USER CODE BEGIN 2 */ HAL_TIM_Base_Start(&ht...原创 2020-11-26 11:33:01 · 2563 阅读 · 0 评论 -
单片机自定义串口空闲中断的方法!
好久没有发布博客了,今天遇到个问题,串口接受不定长没有空闲中断如何处理?我下面说下自己的方法,如果有异议还望告知谢谢!1、在串口终端中加入全局变量,进入串口中断赋值。void interrupt_uart(void){ uart_rxDealy =3; //串口接收延时 cnt ++; //数组下标buff[cnt] =pdata; //存放数据}2、再main函数主循环里面添加10ms调度函数,并减减ua...原创 2020-08-14 10:20:08 · 692 阅读 · 0 评论 -
STM32 HAL库串口回调函数配置失效(HAL_UART_RxCpltCallback)
小编实际操作中,用HAL_UART_RxCpltCallback函数配置接收串口数据,在测试过程中用手碰了单片机引脚之后无法再接收到数据,终于找到了解决办法,就是自己使能接收中断和自己定义中断回调函数;使能中断 __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); //空闲中断使能 __HAL_UART_ENABLE_IT(&huart1,UART_IT_RXNE); //接收...原创 2020-07-08 17:52:15 · 14552 阅读 · 0 评论 -
STM32的HAL库ADC DMA方式,同一通过到采集多次放入数组
小编在此感谢网上的大神,我也在此做下记录ADC采用DMA方式读取电压,所有通道循环采集存放数组,同一通过到采集多次放入数组假如4通道,采集6次,循环存放入数组,ADC数组总长度4*6=24;数组下标:bit0~24存放规则:0123 0123 0123 0123 0123 0123配置和源码如下#define ADC_CHANNEL 4 //通道数#define ...原创 2020-06-23 12:48:44 · 3589 阅读 · 2 评论 -
STM32用CubeMX配置互补PWM波,输出捕获PWM,实现相移
首先还是感谢网上的各位大神,谢谢你们的分享,在此我分享出STM32利用cube配置hal库实现双路互补PWM波输出移相,死区,移相,刹车中断均可用,有问题还望指出谢谢!直接上cube配置图最后附上源码:https://github.com/NoSmallWhite/WL-open-projects.git...原创 2020-06-21 11:42:55 · 8621 阅读 · 6 评论 -
cube配置HAL库GPIO中断
STM32用cube配置GPIO外部中断记录void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == PIN_KEY_Pin) //判断是否为按键引脚 { if(HAL_GPIO_ReadPin(PIN_KEY_GPIO_Port, PIN_KEY_Pin) == RESET) //判断按键引脚是否为底 { ...原创 2020-06-17 14:27:22 · 1991 阅读 · 0 评论 -
stm32F4中文参考手册
通过在网上的查询,感谢所有开源和分享的小伙伴,我在此分享STM32F4的中文资料,如链接失效请告知,谢谢大家!链接:https://pan.baidu.com/s/1IIAo2gD-W-YK9b7Lf7n9vQ提取码:glrd原创 2020-06-10 09:11:59 · 30782 阅读 · 49 评论 -
STM32用CubeMX配置PWM波,实现相移
首先感谢网上的各位大神,在你们的帮助下我顺利的调试出任意PWM相移例程,技术员源于分享,在此我开源源码,有问题请指出谢谢!1、需要查找数据手册,查看自己MCU的定时器触发关联表,我这用的芯片是STM32F103C8T6,1、cubeMX配置,打开高级定时器TIM1,配置TRGO输出触发方式,选择OC1,占空比代表输出触发时间;后面程序中修改占空比就修改TIM2定时器的相移2、程序源码添加占空比变量uint16_t dutyCycle = 100;初始化启动定时器HAL_TIM_PWM_原创 2020-06-09 12:30:27 · 7258 阅读 · 12 评论 -
STM32中自己定义AT指令,取出字符串中间任意数据的方法
小编CSDN突破2W访问量,值得庆祝谢谢大家支持!现在NB-IOT模组应用越来越流行,经常需要进行AT指令的配置,AT指令配置又涉及到字符串的处理,经过小编摸爬滚打几个模组后,终于找到了快捷的操作AT指令和编写自己AT指令的办法,在此向大家分享,如有问题还望指出修正,谢谢大家!一、调两个头文件#include <stdio.h> //单片机printf重定义头文件#include <string.h> //C语言字符串处理头文件二、重定义串口 “printf”//串口原创 2020-06-07 16:34:39 · 7293 阅读 · 4 评论 -
1、软件安装
因为网上有很多安装教程,我在这就不具体描述了!如果链接失效请告知谢谢!链接:https://pan.baidu.com/s/1CMZ-xD1bUABdtLaSnP3J9g提取码:88ji原创 2020-05-18 23:33:36 · 312 阅读 · 0 评论 -
2、STM32CubeMX配置GPIO点亮LED
1、打开软件创建工程界面原创 2020-05-18 23:22:30 · 1119 阅读 · 0 评论 -
STM32CubeMX配置STM32L151C8T6学习分享教程
STM32CubeMX配置STM32L151C8T6学习分享教程原创 2020-05-10 16:49:47 · 1534 阅读 · 0 评论