如果一次事情需要你做两次,让它自动化

本文探讨了程序员如何通过合理安排任务、利用计算机自动化处理重复工作以及有效分配资源来提高工作效率。文章强调了事前规划和利用工具的重要性,并指出合理的工作方法能够帮助程序员减轻负担并提升产出。

有的程序员每天累得要死,但输出很少,投入产出比太低,效率低下。仔细一问,原来很多事情都是重复做了好几次,效率当然低了。程序员需要计算机干什么,就是让它为你工作。如果一件事情需要让你做两次,你就写一个脚本,让它自动化。

有的程序员看起来很闲,但是他总结起来活没少干,还没费多少时间,投入产出比很高,做事有计划,对问题的难点重点把握得很到位,前期准备工作充分,而且充分利用机器去完成你的工作,效率当然就高。

 

 

如果你每天觉得很累,忙得不可开交,你应该停下你手中的活,思考一下,哪些工作需要你自己做,哪些工作让机器完成,哪些工作可以交给别人完成;哪些工作是今天必须完成的,哪些工作是明天才能干的。分类,分轻重缓急。没把自己手中的活理一理,就开始干,就是盲目的干,即使再累再苦,也没有输出,何来的效率呢?

 

 

慢一点,放松一下,做事前思考,活就干漂亮,人也轻松。

### 配置 STM32 CubeMX 定时器以同时触发两个事件 在 STM32 的开发过程中,通过 STM32CubeMX 工具可以方便地配置定时器功能。为了实现定时器同时触发两个不同的事件(例如 PWM 输出和 ADC 采样),可以通过以下方式完成: #### 1. 创建并初始化项目 使用 STM32CubeMX 新建一个工程,并选择目标芯片型号[^1]。确保正确设置系统的时钟树结构以及 GPIO 和外设的初始状态。 #### 2. 配置定时器作为主控单元 选定一个通用定时器(如 TIM2 或 TIM3)用于控制整个流程的时间基准。将其配置为更新事件模式,以便定期触发中断或其他同步信号。具体操作如下: - 打开 **Timer Configuration** 页面。 - 设置计数方向为向上计数 (Up Counting) 并指定预分频系数及时基周期值。 - 启用 `Update Request` 功能,在每次达到自动重装载寄存器 ARRs 中设定的最大数值之后发出通知给其他模块。 #### 3. 实现第一个任务 - PWM 波形生成 对于需要输出脉宽调制(PWM)信号的任务来说,应该利用同一组硬件资源中的比较捕获/输出(CCRx & OCx)通道之一来进行处理: - 添加额外的一个或者几个互补型输出信道到之前提到的基础时间线上面去; - 调整各自的极性和空闲电平属性使之满足实际应用需求; - 如果涉及到相位差调整的话,则还需要考虑引入增量编码器接口(Incremental Encoder Interface, IEI),从而允许进一步微调相对延时关系[^2]。 #### 4. 实现第二个任务 - DMA 控制下的 ADC 数据采集 为了让另一个独立进程能够无缝衔接进来共同运作起来形成闭环控制系统架构设计思路下的一种常见法就是借助直接内存访问(DMA)技术手段来简化软件层面繁杂的数据搬运工作量: - 将模拟数字转换器(Analog-to-Digital Converter ,ADC )关联至上述已经构建好的全局共享时序框架之上; - 开启连续多路扫描模式(Multi-channel Scan Mode),这样就可以一次性获取来自不同源端口上的瞬态电压水平信息而无需反复切换上下文环境造成效率损失 ; - 关联好相应的存储缓冲区地址位置参数后启动后台传输机制运行直至结束条件达成为止 。 ```c // 示例代码片段展示如何初始化TIM与ADC之间的协同作业过程 void MX_ADC_Init(void){ Hadc.Instance = ADC1; Hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8;//设置adc时钟分频因子 ... } HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim); if(HAL_OK != HAL_TIM_Base_Start_IT(&htim)){ Error_Handler(); } ``` 以上步骤综合运用了STM32系列MCU内部丰富的外设互联特性实现了较为复杂的实时嵌入式应用场景解决方案说明文档编写完毕请审阅确认无误后再投入使用谢谢合作!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值