STC8H开发(四): FwLib_STC8 封装库的介绍和注意事项
posted @ 2022-01-11 01:20 Milton 阅读(3459) 评论(1) 推荐(1)
posted @ 2022-01-11 01:20 Milton 阅读(3459) 评论(1) 推荐(1)
posted @ 2022-01-09 21:50 Milton 阅读(4198) 评论(9) 推荐(0)
FwLib_STC8 是一个针对STC8G, STC8H系列MCU的C语言封装库, 适用于基于这些MCU的快速原型验证. 基于FwLib_STC8的项目, 可以在Linux下使用SDCC编译, 也可以在Windows下使用Keil C51环境进行编译. 前面介绍了在Windows的Keil5环境下使用FwLib_STC8, 以下介绍在Linux(本文使用Ubuntu20.04)的VSCode下的环境搭建 阅读全文
posted @ 2022-01-07 16:32 Milton 阅读(3597) 评论(0) 推荐(2)
FwLib_STC8 是一个针对STC8G, STC8H系列MCU的C语言封装库, 适用于基于这些MCU的快速原型验证. 基于FwLib_STC8的项目, 可以在Linux下使用SDCC编译, 也可以在Windows下使用Keil C51环境进行编译. FwLib_STC12封装库较多采样函数方式对寄存器进行封装, 而函数与函数间的层级调用都会增加栈开支, 这样一方面容易对8位MCU的内存造成占用, 另一方面增加了固件尺寸. 在FwLib_STC8封装库中, 尽可能使用宏的方式对寄存器操作进行封装, 控制方法间的层级调用深度, 相比较FwLib_STC12, 节省了固件体积和堆栈占用. 阅读全文
posted @ 2022-01-05 14:00 Milton 阅读(9313) 评论(0) 推荐(1)
posted @ 2021-12-29 10:32 Milton 阅读(4800) 评论(0) 推荐(0)
posted @ 2021-12-24 23:11 Milton 阅读(2776) 评论(4) 推荐(2)
posted @ 2021-12-20 23:37 Milton 阅读(2324) 评论(0) 推荐(0)
ST7567是128x64分辨率单色LCD液晶显示屏常用的芯片方案. ST7567是点阵LCD驱动集成电路, 可以使用8位并口或4线SPI串口(SPI-4)直接连接外部微控制器. 从MPU传输的数据存储在内部65x132 bits的显示数据内存(DDRAM). 在 DDRAM 中存储的数据与LCD点阵直接关联. ST7567 包含 132 段输出, 64 位输出和 1 个公共图标输出, 输出不需要外部时钟驱动. 阅读全文
posted @ 2021-12-19 22:36 Milton 阅读(8955) 评论(2) 推荐(0)
ESP32-SOLO-1 拆装, 都是带板的, 长这个样子, 需要用热风枪从背面吹, 因为中间有焊点, esp32朝下, 用280度大概2到3分钟, 四周需要均匀着风, 用镊子试探天线部分是否松动, 将外沿稍微剥离后加热后边直到自然脱落, 再焊到转接板上. IDF SDK 如果烧录对象是solo, 需要勾选`Component config -> FreeRTOS -> Run FreeRTOS only on first core` 阅读全文
posted @ 2021-12-19 00:25 Milton 阅读(2213) 评论(0) 推荐(0)
CDK全称C-SKY Development Kit, 是平头哥推出的, 支持平头哥自研指令集C-SKY架构和RISC-V架构的芯片的集成开发环境, 为开发者提供统一的图形开发界面, 帮助开发者进行应用开发. 这篇说明是为了让CDK用户能快速上手使用SDK运行示例代码. 阅读全文
posted @ 2021-12-18 22:34 Milton 阅读(7396) 评论(2) 推荐(0)
在T60, T410s, T420s, X240, T550这些机器上都遇到过这个问题. 产生漂移的问题根源是指点杆的校准机制. 这个机制的工作原理, 就是对指点杆连续采样的值进行监控, 如果在一段时间内x轴y轴的采样值保持不变(就像持续受到同一个方向的均匀的力), 程序就会认为这个采样值是本底偏差, 校准机制就会把这个x轴y轴采样值作为静止状态的参考值(类似于电子秤的清零). 阅读全文
posted @ 2021-12-18 15:11 Milton 阅读(1875) 评论(0) 推荐(0)
ST7789/ST7789V/ST7789H2, 用于单片驱动262K色图像TFT-LCD, 包含 720(240*3色) x 320 线输出, 可以直接以SPI协议, 或者8位/9位/16位/18位并行连接外部控制器. 显示数据存储在片内 240x320x18 bits内存中, 显示内存的读写不需要外部时钟驱动. ST7789有 ST7789, ST7789V, ST7789H2等型号, 分辨率有240x204, 240x240, 240x320等多种类型, 驱动方式都是一样的 阅读全文
posted @ 2021-12-17 19:11 Milton 阅读(6148) 评论(2) 推荐(1)
posted @ 2021-12-16 15:07 Milton 阅读(2013) 评论(3) 推荐(0)
posted @ 2021-12-15 21:08 Milton 阅读(4172) 评论(0) 推荐(0)
出过众多优秀固件的电视盒子论坛Freaktab, 将于2021年12月31日关闭 R.I.P 阅读全文
posted @ 2021-12-12 22:31 Milton 阅读(199) 评论(0) 推荐(0)
0.96的128x64 OLED液晶屏是嵌入式应用中最常见的一种屏幕, 这种屏幕常见的pin脚类型有两种: I2C和SPI, 驱动通常是SSD1306, 最近会有一些是SSD1315, I2C类型的OLED只有4个pin脚, 不可修改连接模式, 比较好辨认, SPI类型的OLED有6/7/8pin几种类型, 最常见的是7pin, 带协议选项的模块, 这种模块的背面PCB会有三种模式的选择说明, 后面列出的Rx代表那些位置需要焊接电阻, 通常这些电阻阻值都是5KR, 默认出厂都是4线SPI的模式. 在SPI模式下, SSD1306和SSD1315的驱动方式是一样的. 因为W806可以使用硬件SPI, 刷新速度比I2C方式要快将近10倍, 这里介绍的是4线SPI模式的驱动 阅读全文
posted @ 2021-12-12 14:00 Milton 阅读(4583) 评论(0) 推荐(0)
Air103和W806实际上是同一个芯片, 唯一区别就是丝印不同, W806与Air103的软件理论上都是通用的, W806 SDK也可以运行在Air103上, 所以也可以用C语言给Air103开发固件了. 代码编写和编译与W806一致, 需要注意的差别是, GPIO和PWM的demo中因为使用了板载LED, 与Air103有差异(PB0, PB1, PB2 => PB24, PB25, PB26), 需要调整. 阅读全文
posted @ 2021-12-11 17:40 Milton 阅读(3608) 评论(0) 推荐(0)
配件信息 控制器: STC12C5A56S2 定时芯片: DS12C887 显示: 4位0.56寸数码管 其它: 无源蜂鸣器, 三极管S9012, 电阻10K*2, 100*1, 电容30p*2, 104*2, 12MHz晶振, 轻触开关*2, MicroUSB转接口 功能 24小时计时, 包含年, 阅读全文
posted @ 2021-12-08 19:04 Milton 阅读(252) 评论(0) 推荐(0)
按钮就是一种配备了弹性装置的双状态开关: 连通和断开. 由于弹性部件的作用, 大部分时间按钮是断开的. 从电路角度看, 按钮扮演的角色就是开路和短路. 按钮在嵌入式设备中是常见组件, 按钮在按下和释放时都有可能产生抖动效应, 会导致过程中产生多次短路与开路之间的切换, 对于这个问题, 需要从硬件和软件方面来解决: 硬件上, 低通滤除抖动, 软件上, 增加第一次检测到动作后的 dead time. 按键的系统消息是通过状态机模型进行处理的. 阅读全文
posted @ 2021-12-08 12:19 Milton 阅读(6048) 评论(0) 推荐(4)
这里介绍的是W806使用I2C方式驱动SSD1306 128x64 OLED液晶屏. SSD1306 OLED液晶屏是嵌入式应用中最常见的一种屏幕, 特点是亮度高耗电小可视角度大.
这种屏幕常见的pin脚类型有两种: 4线的I2C和6/7/8线的SPI. 阅读全文
posted @ 2021-12-06 02:16 Milton 阅读(3029) 评论(7) 推荐(0)