我正在尝试通过学习如何在STM32 Nucleo板(STM32F401RE)上编程每个外设并从头开始慢慢构建我自己的库来改进我的嵌入式编程技能(最初不使用HAL直接在寄存器上切换位)。
我遇到了一个问题,当我试图遇到一些我尚未使用的东西之后,我仍然不知道要在API上包含哪些内容。
让我们说我想使用ADC外设,只需从github上的mbed-src复制API并从那里开始,或者我是否需要任何额外的功能?
是否有任何普遍接受的资源从哪里开始?
感谢您的帮助。
答案 0 :(得分:2)
Jacob Beningo撰写了一份白皮书,其中介绍了为嵌入式工作创建API的基础知识。我强烈建议您将此作为起点:Developing Reusable Device Drivers for MCUs。
他的论文将指导您完成数字I / O和SPI的API设计。他描述了为什么他做了很多他所做的设计决策,并且在使用指针数组和配置表方面提供了很多技巧。我开始时发现它非常有用。
当然,正如Olaf和dwelch在评论中指出的那样,您必须熟悉数据表才能正确实现MCU的任何外设。