stm32
文章平均质量分 81
林子xxx
工作多年,现在才想起写博客。
展开
-
STM32启动过程与向量表
今天理了一下arm处理器的启动过程,发现以前对Cortex-M3的启动过程有所误解,Cortex-M3的启动过程与ARM7/ARM9并不一样。一.首先看一下一个典型的STM32程序的二进制文件:注意开始地址的前2“字”,0x2000870,0x08000635.二.在工程文件里,进入debug模式,点击 “RET”复位发现MSP就是程序文件的第一个32bit内容,P原创 2016-12-06 16:21:28 · 2835 阅读 · 0 评论 -
STM32:SPI驱动ADXL345
ADXL345为3轴数字加速度计。支持SPI或I2C访问。网上例子大多是I2C,这里使用4线SPI。一、遇过的坑调试过程花了几个小时,遇到一些小坑。1.开始的时候,无论如何都无法读取芯片ID。这可是最基础的一步啊,SPI,I2C都试过。无奈之下,对照原理图与手册的管脚说明,发现Vs接到地了。其实这个管脚要接电源电压。老实说,一看名字还以为要接地,毕竟一般IC接地脚名字为Vss。让硬件工...原创 2019-03-19 23:35:14 · 8632 阅读 · 24 评论 -
STM32:FSMC驱动TFTLCD(2)
上一篇文章写了ST7789的基本驱动代码,但是没有实现具体的绘图代码。这里加上。1.代码头文件#ifndef __BSP_LCD_H#define __BSP_LCD_H#include "lcd_drv.h"/* RGB565: 高位至低位排列, RRRR RGGG GGGB BBBB*/#define RGB(R,G,B) (((R >...原创 2019-03-14 20:17:48 · 1325 阅读 · 0 评论 -
STM32:FSMC驱动TFTLCD(ST7789)
最近项目使用STM32F407驱动tft彩屏,屏幕的内部驱动芯片为ST7789V,这个IC网上资料不多。废话不说,直接上完整驱动代码。1.代码/**************************************************************************************************** 模块名称 : TFT液晶显示...原创 2019-03-13 22:24:24 · 11068 阅读 · 6 评论 -
LUA移植至STM32全记录
之前使用nodemcu时萌发了一直Lua至STM32的想法。后来项目需要,便花了2天移植。 Lua移植大约需要67K的rom,所以STM32F103C8无法使用,至少得103CB才行。1. 官网下载源文件http://www.lua.org/download.html我下载的 是当前最新版本--5.3.5。2. 解压,源代码位于src文件夹,去掉lua.c 和 luac.c...原创 2019-02-26 20:39:40 · 12607 阅读 · 1 评论 -
ESP8266获取网络天气
使用ESP8266模块来获取网络数据(天气,时间等),还是挺简单的。一步一步来。1.初始化串口与相关IO使得MCU可正常使用串口的发送与接收,以及一些IO控制ESP8266的使能端与电源。2检测模块通电后等待几秒钟,串口发送"AT\r\n",检测有回应"OK"则代表模块在线使用。3.连接路由热点发送"AT+CWJAP?\r\n"可以获取当前连接的路由,如果没有连接正确的...原创 2019-01-09 19:40:28 · 11358 阅读 · 3 评论 -
试用迪文串口屏
最近用了个迪文的串口屏,7寸电阻触摸,T5UIC2平台。这个屏很便宜,95元。假如自己买裸屏开发,屏本身也要60元,电阻触摸15元,加上带RGB接口的ARM9至少也要15,还有其他部件如电源稳压,FLASH等等,价格也没差多少甚至更贵。测试过程只要参考《T5UIC2 开发指南》与《HMI指令集》两个PDF文档。1.测试屏幕是否正常拿到屏幕,首先接通电源,使用PC串口助手发送一些命令...原创 2019-01-07 20:25:21 · 7346 阅读 · 0 评论 -
cJSON移植到STM32
项目中用到JSON接收网络数据,具体是STM32串口接收JSON数据,提取需要的内容。本来KEIL MDK是自带JSON的,但是我不习惯使用KEIL自带的那些第三方的东西,很杂乱的感觉。cJSON的移植比较简单,一下子就可以搞定。1.下载源文件。http://sourceforge.net/projects/cjson/只需要两个文件cJSON.c,cJSON.h;下载的包里面...原创 2018-12-20 23:51:29 · 6761 阅读 · 9 评论 -
STM32+EMWIN电子日历
之前花了几百元买的电子时钟坏了,就用闲置的板子做了一个。功能是显示/调整日期,时间,多个闹钟,倒计时。倒计时使用实体脉冲旋钮控制。基本软件架构是STM32F407+UCOSIII+STEMWIN+RTC。效果如下:这个是定时器,依靠旋钮调节定时时间 1.RTC参照原子历程初始化,并且定义一个新的日期时间结构这是为了一次性把相关消息发送到UI,注意要使...原创 2018-11-05 18:53:51 · 19902 阅读 · 21 评论 -
说说STM32的堆栈与内存
1.概念这里所说的堆栈,是针对单片机所说的“堆”与“栈”,指的是内存中一片特殊用途的区域。而不是数据结构中的堆栈(虽然其实规则一样)。这里所说的内存,是指RAM,RAM包括SRAM,DRAM等。而不是什么手机内存卡之类。这里所说的flash,指的是用作为ROM的存储器,保存代码与常量数据。而不是动画制作。。。栈的生长方向:指的是入栈方向,从高地址向低地址生长叫做向下生长,或逆向生长...原创 2018-08-01 21:20:20 · 18091 阅读 · 7 评论 -
STM32F4制作一个计算器(一) 大数运算
一、大数的运算算法使用原子的STM32F4开发板制作一个计算器,类似电脑上的标准型计算器。在制作界面之前,首先要解决大数运算问题。因为STM32为32位MCU,直接计算最大不过32位,按十进制也就是10位数,显然不够用。为了方便计算,使用数组储存各位数据,并且低位在前。下面数据结构中,使用指针代替数组,这是为了方便以后与界面函数部分对接。 #define THIS_MAXLE...原创 2017-09-16 18:59:26 · 11339 阅读 · 3 评论 -
STM32F4制作一个计算器(二) 界面
STM32F4制作一个计算器(二) 界面原创 2018-01-26 23:28:55 · 4155 阅读 · 0 评论 -
STM32-modbus rtu 之从机程序
STM32-modbus rtu 之从机程序原创 2017-08-30 20:10:40 · 18969 阅读 · 5 评论 -
STM32-modbus rtu 之主机程序
STM32-modbus rtu 之主机程序原创 2017-08-30 20:09:04 · 35148 阅读 · 20 评论 -
STM32-USB之Buffer Description Table
一.stm32的USB接口每个端点对应两个分组缓冲区,其地址与范围位于分组存储区。从STM32的数据手册中存储器映像->寄存器组起始地址看到:(注意地址范围大小为1024,APB1按32BIT对齐访问,但此SRAM是由256个16BIT字组成)这512BYTE的SRAM便是分组存储区;而Buffer Description Table(缓冲区描述表)则用于定位与划分各个端点原创 2017-01-13 16:19:05 · 2735 阅读 · 1 评论 -
STM32:I2S驱动WM8978
最近项目中使用STM32F4驱动音频IC:WM8978。WM8978为DAC+ADC芯片,本身并不具备编解码的功能,一方面,可通过I2S接口接收PCM数据,转为模拟信号输出,此为DAC过程,即放音;一方面,可接收模拟信号转为数字信号,通过I2S接口传输给MCU,此为ADC过程,即录音。WM8978还使用I2C接口配置其工作参数,比如音量,EQ,3D环绕等。WM8978本身可直连1W/8欧的小喇...原创 2019-03-12 22:38:49 · 27822 阅读 · 7 评论