wangzibigan的博客

C与C#与MCU

Cortex-M0模仿位带操作使用

Cortex-M3/M4有位带区(BIT-BAND),可以进行位带操作,而Cortex-M0是没有此功能区域的。 必须说明一点,BIT-BAND的本质可以说是空间换时间。是为追求速度而设置的功能。像STM32F0XX这些Cortex-M0系列的MCU,如果追求速度,还是老老实实操作BSRR/BR...

2019-04-22 21:19:00

阅读数 167

评论数 0

STM32:SPI驱动ADXL345

ADXL345为3轴数字加速度计。支持SPI或I2C访问。网上例子大多是I2C,这里使用4线SPI。 一、遇过的坑 调试过程花了几个小时,遇到一些小坑。 1.开始的时候,无论如何都无法读取芯片ID。这可是最基础的一步啊,SPI,I2C都试过。无奈之下,对照原理图与手册的管脚说明,发现Vs接到...

2019-03-19 23:35:14

阅读数 413

评论数 12

STM32:FSMC驱动TFTLCD(2)

上一篇文章写了ST7789的基本驱动代码,但是没有实现具体的绘图代码。 这里加上。 1.代码 头文件 #ifndef __BSP_LCD_H #define __BSP_LCD_H #include "lcd_drv.h" /* RGB565...

2019-03-14 20:17:48

阅读数 210

评论数 0

STM32:FSMC驱动TFTLCD(ST7789)

最近项目使用STM32F407驱动tft彩屏,屏幕的内部驱动芯片为ST7789V,这个IC网上资料不多。 废话不说,直接上完整驱动代码。 1.代码 /* ********************************************************************...

2019-03-13 22:24:24

阅读数 656

评论数 0

STM32:I2S驱动WM8978

最近项目中使用STM32F4驱动音频IC:WM8978。 WM8978为DAC+ADC芯片,本身并不具备编解码的功能,一方面,可通过I2S接口接收PCM数据,转为模拟信号输出,此为DAC过程,即放音;一方面,可接收模拟信号转为数字信号,通过I2S接口传输给MCU,此为ADC过程,即录音。WM89...

2019-03-12 22:38:49

阅读数 985

评论数 0

nodemcu:使用lua开发esp8266

一、Lua Lua是一种轻量级的嵌入式脚本语言。由于它消耗资源小,本身是使用标准c语言开发的,所以也比较合适移植进各种单片机中,用来替代ini,xml这类配置文件,甚至json,并且更加灵活,功能更强。 官网:http://www.lua.org 二、nodemcu 官方解释:nodemc...

2019-03-02 22:04:09

阅读数 118

评论数 0

LUA移植至STM32全记录

    之前使用nodemcu时萌发了一直Lua至STM32的想法。后来项目需要,便花了2天移植。     Lua移植大约需要67K的rom,所以STM32F103C8无法使用,至少得103CB才行。 1. 官网下载源文件 http://www.lua.org/download.html 我下载的...

2019-02-26 20:39:40

阅读数 417

评论数 0

ESP32模组比较

1.简述 ESP32系列无线IC是乐鑫espressif出品的性价比高的蓝牙WIFI双模IC。 官网:https://www.espressif.com 最详细的手册文档为:esp32_technical_reference_manual_cn.pdf 2.模组比较 将官方和一些其他方的...

2019-02-21 22:05:27

阅读数 381

评论数 0

嵌入式软件架构的设计

嵌入式软件架构的设计 大多数嵌入式程序员学习编程,都是从开发板的附带例程开始。之后工作也会继续参考那些例程,很多编程习惯、方式也会受之影响。 其实开发板式的编程方式与工作中实际需求的并不完全一致。 开发板的通常卖给初学者,注重“即插即用”,兼容各种模块,讲究功能的全面而不讲究性能、效率、成本...

2019-02-18 22:00:35

阅读数 183

评论数 0

新年前的唠叨

明天就是除夕了,不知不觉又要大一岁了。 2019年了,中国也变得越来越强大,国人也越来越明智自信。 记得小时候,媒体的有一种现在看起来很无语的思想横行: 凡是中国大陆与别的地方不同的,都是别人对,国人错。 当是时也,各种知音体,读者体,意林体,充斥坊间,年幼无知的我和小伙伴们深受其荼毒。“...

2019-02-03 13:42:06

阅读数 107

评论数 2

littevGL:软键盘和表盘

littevGL自带软键盘控件和表盘控件。表盘有两种,Gauge和Line Meter。 1.软键盘 软键盘有两种形式,一种是常规的字母键盘,一种是数字和标点符号键盘。 lv_obj_t * kb=NULL; lv_obj_t *ta=NULL; void demoKeyboard(vo...

2019-01-29 23:20:52

阅读数 320

评论数 0

littlevGL:字体与汉字

使用各种嵌入式GUI时,总会遇到“汉字显示”“字体”这些关卡。 阅读本文前,最好已经了解Uincode,UTF-8,UTF-16,GBK,GB2312相关知识,不懂最好网络搜索相关知识。 1.内置字体 littlevGL内置了好几种字体。在lv_conf.h中开关相关字体 /*=====...

2019-01-26 22:48:51

阅读数 1461

评论数 0

littlevGL:移植到STM32

1.简介 LittlevGL 是一个使用C编写的开源免费的GUI,应用在嵌入式设备。 源码:https://github.com/littlevgl/lvgl 2.移植准备 首先需要一个可以正常使用的工程,有LCD驱动,触摸驱动。假设此工程的文件夹名为lvgldemo。 本文使用的IDE...

2019-01-25 22:29:50

阅读数 1815

评论数 0

总结程序BUG原因

写程序多年,创造了很多BUG,总结一下这些BUG的原因。 一、清零 这个原因很常见,特别是底层驱动代码,不可避免需要一些全局变量,对于这些全局变量的清零要注意。 一般可分为: 1.应该清零的地方没有清零。     或者是忘记清零,或者是误以为不需要清零。 2.不该清零的地方却清零了。   ...

2019-01-23 22:17:22

阅读数 112

评论数 0

ESP8266获取网络天气

使用ESP8266模块来获取网络数据(天气,时间等),还是挺简单的。 一步一步来。 1.初始化串口与相关IO 使得MCU可正常使用串口的发送与接收,以及一些IO控制ESP8266的使能端与电源。 2检测模块 通电后等待几秒钟,串口发送"AT\r\n",...

2019-01-09 19:40:28

阅读数 1492

评论数 2

试用迪文串口屏

最近用了个迪文的串口屏,7寸电阻触摸,T5UIC2平台。 这个屏很便宜,95元。假如自己买裸屏开发,屏本身也要60元,电阻触摸15元,加上带RGB接口的ARM9至少也要15,还有其他部件如电源稳压,FLASH等等,价格也没差多少甚至更贵。 测试过程只要参考《T5UIC2 开发指南》与《HMI指...

2019-01-07 20:25:21

阅读数 874

评论数 0

cJSON移植到STM32

项目中用到JSON接收网络数据,具体是STM32串口接收JSON数据,提取需要的内容。 本来KEIL MDK是自带JSON的,但是我不习惯使用KEIL自带的那些第三方的东西,很杂乱的感觉。 cJSON的移植比较简单,一下子就可以搞定。 1.下载源文件。 http://sourceforge...

2018-12-20 23:51:29

阅读数 778

评论数 0

STM32+EMWIN电子日历

之前花了几百元买的电子时钟坏了,就用闲置的板子做了一个。 功能是显示/调整日期,时间,多个闹钟,倒计时。倒计时使用实体脉冲旋钮控制。 基本软件架构是STM32F407+UCOSIII+STEMWIN+RTC。 效果如下: 这个是定时器,依靠旋钮调节定时时间   1....

2018-11-05 18:53:51

阅读数 3018

评论数 11

拼图游戏

1.首先布置好界面。 标题栏,菜单栏,状态栏,以及放置图片框的panel。 2.定义图片框类 /// <summary> /// 图片框类,包含虚拟XY位置 /// </summary&amp...

2018-08-07 22:08:45

阅读数 133

评论数 0

说说STM32的堆栈与内存

1.概念 这里所说的堆栈,是针对单片机所说的“堆”与“栈”,指的是内存中一片特殊用途的区域。而不是数据结构中的堆栈(虽然其实规则一样)。 这里所说的内存,是指RAM,RAM包括SRAM,DRAM等。而不是什么手机内存卡之类。 这里所说的flash,指的是用作为ROM的存储器,保存代码与常量数...

2018-08-01 21:20:20

阅读数 3359

评论数 1

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