|
这一年多时间,在STM32上,根据自己的想法,设计了一些代码。/ p9 y; I( h" T. Q: Y5 w 具体可见一下帖子: https://www.stmcu.org.cn/module/forum/thread-617214-1-1.html https://www.stmcu.org.cn/module/forum/thread-615814-1-1.html6 X) M8 }5 H2 j, d https://www.stmcu.org.cn/module/forum/thread-615206-1-1.html . y" u0 K& V' x( W/ g0 H B 当时的代码在github仓库: http://github.com/wujique/stm32f407 有段时间没在论坛发帖了,其实这些代码一直在迭代。 为了更好的验证代码可移植性,做了一些新硬件:' {4 ^: F Q0 y0 L% z* s Canary stm321037 A. `0 w$ q/ k) H3 U
下面的外扩接口跟F407核心板完全兼容,: I% b7 B8 H1 _# ~2 Q, A 看过以前的帖子的朋友就知道,这样的接口设计% b; L5 ^( \& `- k- b- p! l 是为了让我思考一下问题: 一个SPI的LCD接在不同的地方、2 L( W0 v2 }, e3 n% t8 e8 b 同样控制器的LCD用I2C和SPI方式、 等等这样的兼容,代码要怎么写?% ]. {5 M- f7 e; q& U
& i& Q$ K/ I1 ?+ E- e+ ~ 在这两块板子上,对代码 组织形式 进行了大改动。 并矫情的取了个PetiteDrv做为github仓库的名字。! @ j9 l# t. X% U http://github.com/wujique/PetiteDrv ' G' A s! {! M: u 经过在这两个板子上试验,调整了部分代码的配置。6 m/ q) P2 H% h" K9 Y8 [2 ` 不过如果你只想用上层的驱动,可以不关心这个。 目前代码还是用标准库。可能很多朋友觉得不可思议。 不辩解,我想做的是外设驱动,不是芯片驱动。7 S5 e V* d; I, t* t6 O) \ PetiteDrv,是外设驱动,比如各种LCD驱动;6 Z: H* {# w1 S2 H- U$ w8 W 是外设框架设计,例如多个SPI代码如何管理,I2C总线的管理。 而不是这个芯片偏上用标准库还是HAL库,更者,用寄存器操作,这不是重点。# v& R3 Y$ u7 z/ V2 a& j2 J 为了验证PetiteDrv的可用性能,后续会不断在其他方式的芯片上试水。 下一款是ST的H750VB,板子就快回来了,可能会试试ST最新的环境和HAL。 % c* S; N1 m1 O1 g; `, F 如果你觉得PetiteDrv能用,尽管拿去。& f9 }& t5 Q) J( d2 P) h$ H; m# H 如果你觉得PetiteDrv不咋地,多提意见。3 Z" F& t6 D+ b) K, g 再放一次github地址: http://github.com/wujique/PetiteDrv |
微信公众号
手机版
thks
谢谢,去学习学习