当前位置: 首页 > 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)

相关文章:

  • 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题删除一个冲突对后的最大子数组数目
  • 特朗普的百日执政支持率与他“一税解千愁”的世界观和方法论
  • 今年3月全国查处违反中央八项规定精神问题16994起
  • 一回合摘下“狮心”,张名扬霸气回应观众:再嘘一个我听听
  • 当智驾成标配,车企暗战升级|2025上海车展
  • 出国留学、来华留学呈现双增新趋势,“00后留学生个性鲜明”
  • 上海经信委:将推动整车企业转型,加强智能驾驶大模型等创新应用