痞子衡嵌入式半月刊: 第 57 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 ...
2022年6月初合宙新上市了 Air32F103 系列 MCU, 分 Air32F103CBT6 和 Air32F103CCT6 两个型号, 分别是 32K RAM + 128K FLASH 和 32K RAM + 256K FLASH, 支持的最高主频216MHz, 可以Pin2Pin替换STM3... ...
写在前面: 这几天留校,在做一个电机驱动的项目,使用的是合肥杰发的平台,车规级芯片AC7801/11系列芯片。 但在进行仿真和程序烧录的时候遇到了各种问题,借助这个机会,私下里总结了常见的仿真与烧录程序常见的几种方式,以及相关的操作,希望对大家有帮助。 单片机ISP、IAP和ICP几种烧录方式的区别 ...
颜色 构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示。在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ ...
1.官方SDK(带Freertos)无法编译和下载解决方案: (1)无法编译通过:(会报一下奇奇怪怪的错误) 32bit MCU官方freertos的SDK编译不通过可能是基于不同的C语言版本编写,需要修改配置如下: (2)无法下载:本人遇到的错误是这个 “No Algorithm found fo ...
目录 一、前景回顾 二、用C语言编写内核 三、加载内核 四、运行测试 一、前景回顾 本回开始,我们要开始编写内核代码了,在此之前,先梳理一下已经完成的工作。 蓝色部分是目前已经完成的部分,黄色部分是本节将要实现的。 二、用C语言编写内核 为什么要用C语言来编写内核呢,其实用汇编语言也可以实现,只是对 ...
痞子衡嵌入式半月刊: 第 56 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 ...
Air105的SPI介绍和驱动MAX7219的演示. Air105 包含五组普通SPI, 可以以半/全双工, 同步, 串行的方式通信. 可以被配置成主模式并为从设备提供时钟(SCK), 还能以多主配置方式工作. 支持协议Motorola Serial Peripheral Interface (SP... ...
目录 一、前景回顾 二、规划页表 三、实现页表 四、运行测试 一、前景回顾 前面我们已经介绍了分页机制的运行原理,那么如何开启分页机制呢,也简单,分为如下三个步骤: 1、创建页目录表并初始化页内存。 2、将页目录表地址赋值为CR3。 3、打开CR0寄存器的PG位。 可以看出页表是分页机制的核心,接下 ...
Air105 有 1 个 Timer 单元,包含 8 个独立定时器: Timer0 到 Time7, 8 个定时器中断源独立,每个定时器单独占 1 个中断源, 使用 PCLK 时钟频率作为定时器计时钟源, 定时器采用向下计数方式. 每个 Timer 单元定时器都支持 PWM 模式, PWM 模式最高... ...
Air105 的时钟 高频振荡源 * 芯片支持使用内部振荡源, 或使用外置12MHz晶体 * 芯片上电复位后 ROM boot 启动过程基于内部12MHz的振荡器 * 芯片内部集成的12MHz振荡源精度为±2%, 精度一般 * 使用外置12MHz晶体, 需要软件切换 * 经过PLL倍频后为系统提供... ...
写在前面 前些天看了一本漫画,里面一个老技术人员的话,让我不自觉的想到很多东西。 是啊,有时候我们自认为的自我实现,其实就是在凑这个时代的热闹,每个时代都有自己的热闹,个人之于时代不过是浪花一朵朵。 但这并不能作为我们不去凑这个热闹的理由,你去凑时代的这个热闹,这个时代必会给予你奖励,或早或晚,或大 ...
LVGL样式 LVGL样式概述 创建样式 在 LVGL 中,样式都是以对象的方式存在,一个对象可以描述一种样式。每个控件都可以独立添加样式,创建的样式之间互不影响。 可以使用 lv_style_t 类型创建一个样式并初始化: static lv_style_t style; lv_style_ini ...
LVGL布局方式 LVGL的布局 上一节介绍了如何在 LVGL 中创建控件。如果在创建控件时不给控件安排布局,那么控件默认会被放在父容器的左上角。 可以使用 lv_obj_set_pos(obj, x, y) 调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的 ...
目录 一、前景回顾 二、物理地址、线性地址和虚拟地址 三、内存为什么要分页 四、一级页表 五、二级页表 一、前景回顾 前面我们说到,保护模式下有着三大特点:地址映射、特权级和分时机制。从我的学习角度来说,我认为地址映射这一块的知识点尤为繁杂,所以会花费相对比较多的时间来讲述,话不多说,开整。 二、物 ...
目录 一、前景回顾 二、A20地址线 三、全局描述符表 四、CR0寄存器的PE位 五、迈入保护模式 六、测试 一、前景回顾 上回我们说到,保护模式下有着三大特点:地址映射、特权级和分时机制。本来接下来是要向这三点一一发起进攻,不过我们首先需要先迈入保护模式中,不然在实模式下讲解保护模式显得不伦不类。 ...
LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮、标签、滑块、菜单栏这种具有一定人机交互特征的组合图形。LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度。 LVGL 和大多数 GUI 库的工作方式都是类似的,其代码编写的基础思路为: 创建 G ...
LVGL库移植STM32 LVGL库简介 LVGL(Light and Versatile Graphics Library)是一个免费、开源的嵌入式图形库,可以创建丰富、美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低。可以在 https://lvgl. ...
以下说明当总线上存在多个 DS18B20 芯片时, 识别各个 DS18B20 的编号并进行通信的算法. 其实这是 1-Wire 总线的搜索算法, 当 1-Wire 总线上挂接了多个设备时, 总线控制端需要通过 ROM Search 命令来判断总线上存在的设备以及获取他们的8字节唯一ROM. 1-WI... ...
DS18B20 是一个常见的数字温度计芯片, 因为测温准确, 廉价且接线简单, 实际应用广泛, 在各种教学实验套装中出镜率也很高. 在写STC8H GPIO示例的时候写了一下 DS18B20, 这个型号虽然简单古老, 但是内容比较有意思, 一个篇幅写不下, 所以把内容抽出来单独介绍. ...