2个版本
0.3.2 | 2022年11月12日 |
---|---|
0.3.1 | 2022年11月8日 |
#1803 在 嵌入式开发
17KB
277 行
HX1230显示器驱动程序
HX1230显示器驱动程序的早期版本,在embedded-hal
上运行,可选地与embedded_graphics
库集成
库的状态
该库处于开发的早期阶段,但可使用
工作情况
- 使用SPI接口与HX1230显示器的通信
- 与
embedded_graphics
库的集成
注意事项
embedded_graphics
的集成仅为基础,没有进行进一步的优化以加快渲染速度- 没有使用DMA通道进行数据传输的驱动程序变体
- 单元测试稀疏(目前如此)
示例
该库已与STM32F103C8T6微控制器进行了测试
要在此类MCU上运行示例,请运行
cargo run --example graphics --release
用法
初始化显示器
// Create display driver using the provided SPI interface and chip select pin
let mut display = SpiDriver::new(&mut spi, &mut display_cs);
// Send the initialization sequence
display.initialize(&mut delay).unwrap();
// Create frame buffer for HX1230 display
let mut frame_buffer: ArrayDisplayBuffer = ArrayDisplayBuffer::new();
使用embedded_graphics
在缓冲区中绘制一些内容
let text_style = MonoTextStyle::new(&FONT_6X13, BinaryColor::On);
Text::new("example", Point::new(0, 12), text_style)
.draw(&mut frame_buffer)
.unwrap();
向显示器发送数据
// Send display buffer data to display
display.send_buffer(&frame_buffer).unwrap();
完整示例代码:examples/graphics.rs
注意
- 必须运行openocd才能成功运行示例
- MCU内存布局必须与
memory.x
文件中指定的布局相匹配 - GDB必须成功应用根crate目录中存在的
.gdbinit
文件
要在本地机器上运行单元测试(根据不同平台更改目标)
test --lib --target x86_64-unknown-linux-gnu
许可协议
根据您的选择,许可协议为
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
资源
Python实现的HX1230显示器驱动程序,包括有用的布线信息和产品数据表: https://github.com/mcauser/micropython-hx1230
依赖关系
~165KB