stm32库开发实战指南
文章平均质量分 96
本专栏主要是针对STM32开发环境搭建、基本外设(GPIO、外部中断、定时器、串口)、外设接口(SPI、IIC、看门狗、ADC、CAN)、功能模块(4G模块、GPS+惯导、蓝牙、加速度计和陀螺仪)、UCOSII 等的讲解。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
聚优致成
这个作者很懒,什么都没留下…
展开
-
STM32开发 -- UCOSII移植
一、UCOS简介之前讲过一部分UCOSII,参看:STM32开发 – UCOSII但是讲的有点糙了,现在参看正点原子的STM32F4 UCOS开发手册 V3.0,重点看一下UCOSII和UCOSIII的移植。原创 2021-11-16 09:02:59 · 1249 阅读 · 0 评论 -
STM32开发 -- 系统软复位
方法:void BSP_CPU_Reset(void){ /* system soft reset */ NVIC_SystemReset(); // 函数在core_m3.c中 while(1);}__NVIC_SystemReset:/** \brief System Reset \details Initiates a system reset request to reset the MCU. */__STATIC_INLINE void __NVIC_Sy原创 2020-05-24 17:45:20 · 5424 阅读 · 0 评论 -
STM32开发 -- base64详解
base64_encodebase64_decode原创 2020-03-31 13:49:36 · 2986 阅读 · 2 评论 -
STM32开发 -- 设置MCU运行频率
参看:STM32系列修改外部晶振以及代码的修改(f103、f105为例)后续补上。原创 2020-03-31 11:16:06 · 4422 阅读 · 0 评论 -
STM32开发 -- PMIC、I2C详解
终于到PMIC了,这部分有用到I2C,之前一直想讲来着,现在正好一并讲了。原创 2019-12-04 17:52:06 · 4914 阅读 · 0 评论 -
STM32开发 -- 地球坐标系(WGS84),火星坐标系(GCJ02), 百度坐标系(BD09)坐标转换
STM32开发 – GPS模块开发详解最后有提到一下:WGS84坐标系 地球坐标系,国际通用坐标系GCJ02坐标系 火星坐标系,WGS84坐标系加密后的坐标系;Google国内地图、高德、QQ地图 使用BD09坐标系 百度坐标系,GCJ02坐标系加密后的坐标系BUT,这三者之间是之间该如何转换呢?比如我获得GPS原始数据 2312.49700,11314.65422,三者之间该怎么转换...原创 2019-08-14 19:13:28 · 2628 阅读 · 0 评论 -
STM32开发 -- 继电器测试
继电器这个东西,怎么说呢。我之前学过自动化。。。对它是有一定了解的。接下来再简单的来看一下STM32上继电器的应用吧。一、继电器介绍原创 2019-08-12 17:37:14 · 10739 阅读 · 2 评论 -
STM32开发 -- 网络注册CREG、CEREG
我记得在讲4G模块的时候有介绍一下CREG。参看:STM32开发 – 4G模块开发详解(2)AT+CREG=2网络注册信息设置命令,自动上报网络注册未知结果码,同时带有位置信息,+CREG: [,]AT+CREG=2OKAT+CREG?网络注册信息查询命令,当stat的值为1(本地网络)或5(漫游)的时,网络注册成功。AT+CREG?+CREG: 2,1,"FFFE","1...原创 2019-08-09 10:16:18 · 8535 阅读 · 1 评论 -
STM32开发 -- 低功耗模式详解(3)
接着讲:一、其他模式低功耗GPS/4G模块/蓝牙进入休眠和其他功能电路供电切断 这些又该如何操作?4G模块禁止网络注册:AT+CREG=0关闭WIFIAT+CWMAP=0蓝牙...原创 2019-08-08 14:28:20 · 2680 阅读 · 1 评论 -
STM32开发 -- 低功耗模式详解(2)
上一篇文章 STM32开发 – 低功耗模式详解(1) 简单的总结了一下低功耗的三种模式。但是还留了不少问题需要搞清楚。接下来继续总结。。一、其他几种退出待机模式的方法:上篇文章只介绍了通过WKUP引脚上的上升沿退出待机模式。接下来再看一下剩下的RTC闹钟事件的上升沿、 NRST引脚上外部复位、 IWDG复位该如何操作呢?RTC闹钟事件的上升沿NRST引脚上外部复位IWDG复位...原创 2019-08-06 16:45:09 · 1413 阅读 · 0 评论 -
STM32开发 -- 低功耗模式详解(1)
很多单片机都有低功耗模式,STM32 也不例外。当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗。这部分不是我负责,但是也是有必要看一下的。...原创 2019-07-10 18:38:52 · 6431 阅读 · 0 评论 -
STM32开发 -- 自动连接一个未保存过的WIFI
上一篇文章**STM32开发 – WIFI那些事儿(一)**简单介绍了一下WIFI测试脚本和查看WIFI的MAC地址的方法。接下来主要实现自动连接一个未保存过的WIFI的功能。问题:想要自动连接一个WIFI是需要先保存然后生成一个系统文件方才可以的。如果未保存过的WIFI该怎么自动连接呢??一、简单介绍先说下CMD的指令,然后说一下 shell指令执行指令:sed -i 's/S...原创 2019-05-30 13:40:26 · 1330 阅读 · 1 评论 -
STM32开发 -- WIFI那些事儿(一)
最近在做WIFI模块的测试,其中用到的一些知识点加以总结一下。原创 2019-04-23 17:11:41 · 5212 阅读 · 1 评论 -
STM32开发 -- UTC、UNIX时间戳、北京时间之间的转换
我碰到的问题,GPS上UTC时间转北京时间和STM32上UNIX时间戳转北京时间。这部分之前讲RTC和GPS的时候有涉及到一部分。具体的RTC如何UNIX时间戳,和GNRMC如何解析得到UTC时间可以参看一下。参看:STM32开发 – RTC详解参看:STM32开发 – GPS模块开发详解这里主要看三者转换方法:一、UTC时间转换为北京时间参看:UTC时间转换为北京时间时间类型结构...原创 2019-02-18 18:48:59 · 14250 阅读 · 1 评论 -
STM32开发 -- HardFault_Handler处理
一、造成原因参看:C语言再学习 – 段错误(核心已转储)二、查找问题原因参看:Sticky Bits – Powered by Feabhas在startup_stm32f10x_cl.s里找到HardFault_Handler的地址重映射,并重新编写,让其跳转到HardFaultHandle函数HardFault_Handler\ PROC ...原创 2019-02-13 15:50:46 · 4836 阅读 · 0 评论 -
STM32开发 -- Gerrit的详细使用
一、gerrit简介参看:维基百科 - GerritGerrit,一种开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件开发者,可以相互审阅彼此修改后的代码,决定是否能够提交,回退或是继续修改。它使用版本控制系统Git作为底层。二、配置Gerrit帐户参看:修改git config配置文件参看:git config配置参看:配置文件git config介绍1、g...原创 2019-02-11 16:30:46 · 1111 阅读 · 1 评论 -
STM32开发 -- Git的详细使用
一、Git下载安装下载地址:git下载原创 2018-12-25 19:36:40 · 5019 阅读 · 1 评论 -
STM32开发 -- 进制与字符串间的转换
上一篇文章最后留下一个任务,字符串函数和进制间转换、进制和字符串间转换。 这些是会经常用到的。但是有时一时会想不起来。 这里做一下总结,方便以后需要查找。先贴出一些,之前讲过的知识点。一、字符串函数参看:C语言再学习 – 字符串和字符串函数二、位操作参看:C语言再学习 – 位操作三、ASCII码表参看:C语言再学习 – ASCII码表(转)...原创 2018-08-27 18:50:07 · 13206 阅读 · 1 评论 -
STM32开发 -- 烧写/启动模式
根据我一贯的作风,接下来该讲烧写/启动模式,然后再讲各种烧写方法和过程,最后是启动流程。 这一篇文章,就看一下 烧写/启动模式。一、启动模式(Boot modes)阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes)。在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 在系统复位后, SYSCLK的第4个上升沿, ...原创 2018-06-05 20:07:25 · 9608 阅读 · 0 评论 -
STM32开发 -- Keil使用(2)
STM32开发 – Keil使用(1) 用了很长的篇幅,主要介绍了keil的菜单栏、工具栏、工程配置等信息。但是很多时候拿到的工程示例,这些可是都配好了的。接下来开始讲解一下,工程调试过程中的一些技巧。...原创 2018-06-02 17:46:09 · 5720 阅读 · 0 评论 -
STM32开发 -- Keil使用(1)
前面已经把STM32开发环境搭建,keil的安装和工程新建讲完了。 参看:Keil uVision4使用总结 参看:STM32开发 – 开发环境搭建接下来看一下 keil 软件的使用。 参看:keil专栏 这位大神写的keil专栏,讲的已经很详细了。但如果只我看的话,是记不住的。 还是自己跟着来做一遍吧。一、工具栏详解...原创 2018-05-21 20:01:35 · 23509 阅读 · 2 评论 -
STM32开发 -- CAN总线详解
最近好像没在状态,博客也没有心思写了。ADC花了好久好久才总结完了,现在就开始看一下CAN总线吧。这部分我比较熟悉一些。原创 2019-11-11 11:18:15 · 10076 阅读 · 1 评论 -
STM32开发 -- 信号强度CSQ
使用GSM模块的时候,需要查看信号强度。使用查询信号AT指令:AT+CSQ+CSQ: 21,99OK这个AT指令使用都是了解的,但是+CSQ: 21,99,后面的数字代表什么意思呢?怎么看是信号强弱还是没有信号呢?接下来开始总结:一、查看芯片手册我查看的是 SIM7500_SIM7600 Series_AT Command Manual _V1.06其他模块的可能有些许不...原创 2019-07-04 18:59:58 · 12217 阅读 · 3 评论 -
STM32开发 -- Jlink常用命令
hspeed 4000device = STM32F429ZIeraseloadbin BOOT.bin 0x8000000loadbin 正式版本.bin 0x08004000loadbin 工厂测试.bin 0x08020000savebin 工厂生产.bin 0x08000000 0x00080000rx 3qcexit一直在用这个脚本烧写程序,但是,细细一看有点懵。...原创 2019-06-18 18:58:11 · 10040 阅读 · 0 评论 -
STM32开发 -- 看门狗详解
看门狗部分,之前讲软件复位的时候提到,接下来详细看一下。一、独立看门狗概述1、为什么要看门狗在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞。而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的...原创 2019-02-20 12:30:01 · 14155 阅读 · 4 评论 -
STM32开发 -- 外部中断详解
未完待续!!在讲三轴加速度计的时候,提到外部中断。接下来就看看中断为什么这么配置。原创 2019-02-18 10:44:27 · 10655 阅读 · 0 评论 -
STM32开发 -- 系统架构
未完待续!!!STM32 主系统主要由四个驱动单元和四个被动单元构成。四个驱动单元是:内核 DCode 总线;系统总线;通用 DMA1;通用 DMA2;四被动单元是:AHB 到 APB 的桥:连接所有的 APB 设备;内部 FlASH 闪存;内部 SRAM;FSMC;下面我们具体讲解一下图中几个总线的知识:① ICode 总线:该总线将 M3 内核指令总线和闪存指令接口...原创 2019-02-14 16:01:00 · 3990 阅读 · 0 评论 -
STM32开发 -- 复位类型判断
复位类型的情况有多种,会导致MCU重启。因此我们有必要确认一下是何种复位导致的。一、复位类型想要查看复位类型可以RCC_GetFlagStatus函数/ ** * @brief检查是否设置了指定的RCC标志。 * @param RCC_FLAG:指定要检查的标志。 * *对于@b STM32_Connectivity_line_devices,此参数可以是其中之一 *以...原创 2019-02-13 14:16:06 · 3947 阅读 · 0 评论 -
STM32开发 -- Systick定时器
未完待续!!原创 2018-08-13 15:09:29 · 16864 阅读 · 1 评论 -
STM32开发 -- 时钟系统详解
上一篇文章讲了RTC,里面其实已经包含了时钟系统的介绍了。这篇文章将再详细的讲一下。一、时钟系统框图二、时钟系统STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速...原创 2018-08-10 10:24:34 · 21995 阅读 · 5 评论 -
STM32开发 -- RTC详解
RTC实时时钟部分,之前也是有讲到过的。 Hi3516A开发–RTC电路 接下来看一下STM32里RTC该怎么配置一、RTC实时时钟特征与原理查看STM32中文手册 16 实时时钟(RTC)(308页)小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、 STM32F102xx和STM32F103xx微控制器。 中容量产品是指闪存存储器容量在64K至12...原创 2018-08-04 12:31:26 · 59188 阅读 · 12 评论 -
STM32开发 -- GPIO详解
之前有简单讲过GPIO工作模式和寄存器,还是有点没搞明白。这次需要全方位的看一下了。一、数据手册1、STM32F105RC引脚说明 可知:STM32F105RC 一共有4组IO口 一共16X3+3=51个IO GPIOA0~A15 GPIOB0~B15 GPIOC0~C15 GPIOD0~D22、程序定义GPIO端口号STM32F1...原创 2018-06-13 16:41:59 · 56075 阅读 · 13 评论 -
STM32开发 -- 启动流程
启动模式讲完了,我们知道是主闪存存储器启动的。主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它。 接下来,再看一下它的启动流程是怎样的。 话说启动流程,我都讲过很多个了。 参看:S5PV210开发 – 启动流程 参看:DM368开发 – Bootloader 开发(转毕设)BUT,我真的还是讲不明白。还是没有理解透,过一段...原创 2018-06-05 20:14:33 · 14112 阅读 · 2 评论 -
STM32开发 -- CRC校验码
通信协议里有CRC校验码,计算从报文的起始字节到报文内容最后一个字节的crc16的值。 举个例子: 远程控制命令集 5B 20 00 0A 00 01 0A 01 FE 00 01 00 AB 89 CRC校验码为:AB 89一、RTU 檢查碼(CRC)計算器第一种:参看:RTU 檢查碼(CRC)計算器 大小端转换后,CRC检查码为:AB 89 说明,这个计算器...原创 2018-03-11 18:25:17 · 10584 阅读 · 0 评论 -
STM32开发 -- UCOSII
一、UCOSII 简介UCOSII是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核。具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,UCOSII最大程度上使用ANSI C语言进行开发,并且已经移植到40多种处理器体系上,涵盖了从8位到64位CPU(包括DSP)。UCOSII是专门为计算机的嵌入式应用设计的...原创 2020-02-18 18:29:18 · 2481 阅读 · 0 评论 -
STM32开发 -- W25Q32JV SPI FlASH详解
flash这部分也是很重的一部分了,尤其是地址选择,OTA升级等操作。一、未完待续原创 2019-11-20 18:41:48 · 9727 阅读 · 4 评论 -
STM32开发 -- 蓝牙开发详解(2)
如需转载请注明出处:接着 STM32开发 – 蓝牙开发详解(1) 这一篇接着讲。如需转载请注明出处:原创 2019-09-10 18:54:30 · 5600 阅读 · 1 评论 -
STM32开发 -- 蓝牙开发详解(1)
本来想着现将ADC、CAN、I2C、PMIC、FLASH等等讲完了,晚些时候再讲蓝牙的。emmmm,现在老是遇到一些蓝牙类的问题。看来有必要先讲了。资料都有看过一遍,如果只是简单的了解蓝牙用法,很简单的。多的不说了,现在开始总结!!一、蓝牙介绍...原创 2019-08-14 13:23:52 · 12511 阅读 · 1 评论 -
STM32开发 -- L3GD20H陀螺仪开发详解
之前讲过:MPU6050开发系列STM32开发 – LIS3DH三轴加速度计开发详解所以对于L3GD20H陀螺仪基本上轻车熟路了。关键还是在于要看手册。接下来就进入L3GD20H陀螺仪开发讲解。未完待续!!...原创 2019-06-27 18:08:05 · 6743 阅读 · 1 评论 -
STM32开发 -- 惯导模块开发详解
STM32开发 – GPS模块开发详解(1)这篇文章已经对于GPS模块开发讲得很详细,但是还留着一点东西没讲,有必要开一篇文章。原创 2019-06-24 13:12:40 · 5819 阅读 · 1 评论