你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 维护丨 点灯 V2.1.0

[复制链接]
STMCU小助手 发布时间:2021-1-13 15:19
STM32 维护丨 点灯V2.1.0
之前的点灯最终版,最终在后续的测试中,还是发现了一些小问题。今晚就先来维护一下这个小小的LED驱动。
首先就是,之前的使能函数,有不合理的地方,我这里先贴之前的程序。
  1. <font face="微软雅黑">/** @brief        使能LED
  2.   * @param[in]    Enable :使能
  3.   * @param[out]   无
  4.   * @retval       无
  5.   * @note         无
  6.   */
  7. void sLED_Enable(u8 Enable)
  8. {
  9.     Enable = (Enable != 0);
  10.     s_LED.Enable = sLed_Polar(s_LED.PolarLED , Enable);
  11. }</font>
复制代码
从我们Debug的情况来看,我们只要给Enable赋值1,灯就能亮了,所以,在这个使能函数里,不需要在进行翻转,也不需要进行端口检测,直接赋值就好。修改后的程序如下
  1. <font face="微软雅黑">/** @brief        使能LED
  2.   * @param[in]    Enable :使能
  3.   * @param[out]   无
  4.   * @retval       无
  5.   * @note         无
  6.   */
  7. void sLED_Enable(u8 Enable)
  8. {
  9.     s_LED.Enable = Enable;
  10. }</font>
复制代码
对,就是这么简单。
程序嘛,都是修改出来的,都是在用的时候,不顺手了,就顺手修改一下,最后就顺手了。
在应用的过程中,我发现没有给故障码赋值的函数,我也在程序里加了这个功能。
  1. <font face="微软雅黑">/** @brief        设置LDE的故障码
  2.   * @param[in]    Err   : 类型
  3.   * @param[out]   无
  4.   * @retval       1   : 设置成功
  5.                   0   : 设置失败
  6.   * @note         无
  7.   */
  8. void sLED_SetErrNum(u8 Num)
  9. {
  10.     s_LED.Err_num = Num;
  11. }</font>
复制代码
在应用的过程中,我还发现,赋值的函数有点多,需要每个参数都单独赋值,这么一来,程序接口的初衷就体现不出来,所以我添加了一个同时给LED所有参数赋值的函数,当然,同时也需要有读所有参数的函数。
设置所有参数。
  1. <font face="微软雅黑">/** @brief        设置LED所有参数
  2.   * @param[in]    led :led的参数的指针
  3.   * @param[out]   无
  4.   * @retval       无
  5.   * @note         无
  6.   */
  7. void sLED_SetAllDat(LED_t *led)
  8. {
  9.     s_LED = *led;   
  10. }</font>
复制代码

读所有参数

  1. <font face="微软雅黑">/** @brief        设置LED所有参数
  2.   * @param[in]    led :接收led参数的指针
  3.   * @param[out]   无
  4.   * @retval       无
  5.   * @note         无
  6.   */
  7. void sLED_ReAllDat(LED_t *led)
  8. {
  9.     *led = s_LED;   
  10. }</font>
复制代码

既然需要在其他文件里用到我们的结构体定义,那么我们就需要将结构体的定义放到头文件里,这样只要其他文件包含了头文件,就可以在其他文件里用我们结构体的定义来定义参数了。
现在暂时算是完成了,当然,哪天用得不顺手,也是有可能修改、维护的。如果大家懒得复制这些函数,也可以在公众号后台找我要完整的工程文件。
文章出处:  Yue無缺

收藏 评论1 发布时间:2021-1-13 15:19

举报

1个回答
zsdonline 回答时间:2021-1-14 11:26:30
学习

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版