当前位置: 首页 > 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题删除一个冲突对后的最大子数组数目
  • 德国联邦议院6日下午将举行总理选举第二轮投票
  • 实探北京楼市:“好房子”卖点十足,二手房持续回稳
  • 媒体:南京秦淮区卫健委回应一医院涉嫌违规提供试管婴儿服务
  • 贵州省委省政府迅速组织开展黔西市游船倾覆事故救援工作
  • 文旅局局长回应游客住家里:“作为一个宣恩市民我也会这么做”
  • 严正交涉!我驻日使馆:如日方采取新的挑衅举动,中方必坚决反制