当前位置: 首页 > news >正文

设计C语言的单片机接口

一、主要内容

 (一)控制引脚

  1、定义管脚

// 定义管脚的结构体

struct pin{

  int id;     // 管脚编号

  int mode;    // 模式,输入为1,输出为0

  int pull;        // 输入电阻

  int driver;     // 功率

}

   2、输出电平

语法:

void   pin_output(struct pin p,  int signal)

案例:

// 输出高电平,设置1代表高电平

pin_output(p1, 1);

 

// 输出低电平,值为0

pin_output(p1, 0);

  3、输入信号

语法:

 

int   pin_input(struct pin p)

案例:

// 读取电平

int temp = pin_input(p1);

 

// 打印

printf("电平: %d", temp);

 

  (二)输出PWM

   1、结构体

struct pwm{

     struct pin p;  // 管脚

     int  freq;     // 默认频率

     int duty;     // 默认占空比

}

 

  2、主要函数

// 开始输出

void start_pwm(struct pwm p)

 

// 设置频率

void  set_freq(struct pwm p,  int freq)

 

// 设置占空比

void  set_duty(struct pwm p,  int duty)

 

// 取消

void close_pwm(struct pwm p)

http://www.dtcms.com/a/77061.html

相关文章:

  • Springdoc 全部注解一文解释清楚
  • Python的Pytest测试框架(1)
  • 实验一:统计字符个数
  • 【QT】-toUtf8() 和 toBase64()的区别
  • mysql5.7主从部署(docker-compose版本)
  • 【责任链模式的多种实现方式及其应用】
  • Modbus协议
  • LeetCode[142] 环形链表 II
  • 【C++】memset和memcpy函数
  • 案例驱动的 IT 团队管理:创新与突破之路:第二章 团队组建:从人才画像到生态构建-2.2.2案例:某游戏公司“特种作战小组“模式
  • NAT及P2P通信
  • 本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】
  • defineExpose函数
  • matlab R2024b下载教程及安装教程(附安装包)
  • 嵌入式面经-C语言:智能指针,`#define` 和 `const`,`typedef`,头文件中定义静态变量
  • turfjs多边形切割多边形求交集
  • centos 如何将 nginx reload权限给其他用户
  • Linux安装部署Elasticsearch8 全过程记录
  • Nodejs使用redis
  • 解决leetcode第3480题删除一个冲突对后的最大子数组数目
  • Jocker靶机全面解析:漏洞挖掘、渗透测试与防御策略
  • RuoYi-Vue路由,Node
  • HOVER:人形机器人的多功能神经网络全身控制器
  • Leetcode-回溯-组合型
  • Vue 中如何使用 nextTick?
  • 解决uni-app授权弹框华为审核拒绝
  • OpenAI--Agent SDK简介
  • linux入侵排查-综合日志分析
  • halcon几何测量(一)3d_position_of_rectangle
  • 【QT:多线程、锁】