[ARM入门] 编程思维

[复制链接]
 楼主| 呐咯密密 发表于 2023-9-27 10:47 | 显示全部楼层 |阅读模式
做小项目时,可能几百行代码,一个main就搞定了,这时你可能觉得编程思维不重要好。



但项目做大了,你就会发现以小项目的编程方式不能完成了,这个时候就要考虑软件架构、结构化、模块化了。



对于初学者来说,一下就要掌握软件架构、模块化设计可能有点难,但是,可以慢慢培养自己的编程思维。



举一个简单的模块化的例子,你做一个小车,你把“运动部分”的代码归为一类(模块化),对应的文件命名可以为 bsp_motion, app_motion,函数命名为 Motion_xxx 等。



当然,还有很多地方,你可以都归类为 Motion,比如:

  1. #define MOTION_PWM_TIMx              TIM9
  2. #define MOTION_PWM_TIM_CLK           RCC_APB2Periph_TIM9
  3. #define MOTION_PWM_TIM_GPIO_CLK      RCC_AHB1Periph_GPIOE
  4. #define MOTION_PWM_TIM_PIN           GPIO_Pin_5
  5. #define MOTION_PWM_TIM_GPIO_PORT     GPIOE
  6. #define MOTION_PWM_TIM_SOURCE        GPIO_PinSource5
  7. #define MOTION_PWM_TIM_AF            GPIO_AF_TIM9
  8. #define MOTION_PWM_TIM_OCxInit       TIM_OC1Init
  9. #define MOTION_PWM_TIM_SetComparex   TIM_SetCompare1
  10. #define MOTION_PWM_COUNTER_CLOCK     10000000
yangjiaxu 发表于 2023-10-31 10:44 | 显示全部楼层
确实,思维这个东西,真的很重要的,尤其是可移植性,可修改性,最好是宏定义,这块做的好,后续维护省很多事情
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

567

主题

4081

帖子

56

粉丝
快速回复 在线客服 返回列表 返回顶部
认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

567

主题

4081

帖子

56

粉丝
快速回复 在线客服 返回列表 返回顶部