关于逐项作用函数的用法

关于逐项作用函数的用法
  讲一下Thread这个函数的用法,其中后面两个用法很好用,也常常被忽略。
  用法一:比较常用
 
  用法二:我觉得这一种是很实用的
 
  有拓展的方法
 
  用法三:构造一种映射关系,在配合 Association[] 关联这个函数很好用
 

  以上,所有
  2017/1/16
### 关于逐飞 PWM 函数库的使用 逐飞科技提供了一系列针对其开发板的功能函数库,其中包括用于控制脉宽调制 (PWM) 的功能模块。这些函数可以方便开发者快速实现对硬件资源的操作。 以下是基于逐飞 PWM 函数库编写的示例代码及其说明: #### 初始化 PWM 功能 在使用 PWM 前需先初始化对应的通道和参数设置。通常需要指定频率、占空比以及所使用的定时器编号等配置项[^1]。 ```c #include "zf_pwm.h" // 定义变量存储句柄 pwm_handle pwm_test; void pwm_init_example(void){ // 配置结构体定义初始状态 pwm_config config; // 设置目标引脚, 这里假设为 TIM3_CH1 对应 PA6 config.port = GPIOA; config.pin = GPIO_PIN_6; // 设定工作模式为主动高电平有效 config.polarity = ZF_PWM_ACTIVE_HIGH; // 初始设定周期(单位us), 实际值可能因系统时钟源不同有所差异 config.period_us = 2000; // 起始占空比百分比形式给出,默认设为50% config.duty_cycle_percent = 50; // 执行实际初始化过程并获取返回结果判断成功与否 if(ZF_OK != zf_pwm_init(&pwm_test,&config)){ while(1); // 如果失败进入死循环等待调试处理 } } ``` #### 修改运行中的 PWM 参数 除了静态初始化外,在程序执行过程中也可能动态调整某些属性比如改变输出信号宽度或者切换极性方向等等操作均可以通过相应接口完成[^2]。 ```c void change_duty_cycle(uint8_t new_value){ if(new_value>100 || new_value<0){ return ;//忽略非法输入范围之外的数据 } // 更新当前实例对象的新占空比例数值 zf_pwm_set_duty_cycle(&pwm_test,new_value); } void toggle_polarity(){ uint8 current_pol = zf_pwm_get_polarity(&pwm_test); if(current_pol == ZF_PWM_ACTIVE_HIGH){ zf_pwm_set_polarity(&pwm_test,ZF_PWM_ACTIVE_LOW); }else{ zf_pwm_set_polarity(&pwm_test,ZF_PWM_ACTIVE_HIGH); } } ``` 以上展示了基础框架下如何利用该厂商特定API来操控外围设备达到预期效果的方法论介绍[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值