linux驱动位置_Linux下单片机开发1(C51):入门--蜂鸣器

3e5feb0d297e96c1124edc8ad3d37d0c.png

一、前言

单片机入门,我们从最简单的蜂鸣器开始。

二、开发

2.1 代码

#include 

2.2 编译

sdcc 1.c

编译结果

ad8ccab7323da57fad442475f1f5d2f2.png

共计三个错误

第一二个错误表示reg51.h在Linux平台上已经过时了,我们采用8051.h。

所以将

#include <reg51.h>

修改为

#include <8051.h>

第三个错误表示,Linux下标识符不能这样定义。

我们从sdcc的头文件中查看相关代码,

代码位置是

/usr/share/sdcc/include/mcs51/8051.h

我们可以看到

c3e933071ea1c30a13593fbc4d1b2773.png

sbit sound=P3^7;  

修改为

#define sound P3_7

也就是说Linux下与Windows下的开发以及定义有一定区别。

2.3 格式转换

将ihx文件转换为hex格式文件

packihx 1.ihx > 1.hex

三、写入设备

使用stcflash工具,原本想用Qt/C++自己写一个,后来发现技术有限,还是熟悉了再说。

Manjaro 下直接安装

pacman -S stcflash

写入设备

stcflash 1.hex

四、运行结果

4fc012b2871e209231507d771d276647.png
蜂鸣器测试https://www.zhihu.com/video/1118184218324316160

至此,Linux下单片机开发有一个良好的开始。

五、参考文档

[1]https://blog.csdn.net/thinkerleo1997/article/details/53145972

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值