- 博客(18)
- 资源 (5)
- 收藏
- 关注
原创 Android studio导入libgpiod库
在Android studio中导入libgpiod库的步骤分为两步:1. 在linux环境下编译libgpiod库2. 将编译完成的库导入Android studio中接下来将详细介绍如何实现各个步骤。
2024-07-18 10:54:55
1066
原创 PWM控制无源蜂鸣器发声
这里面,period是以纳秒计数的PWM周期,duty_cycle是以纳秒计数的每周期高电平时间。将无源蜂鸣器的I/O接口接在树莓派的12引脚上,因为树莓派的12引脚对应WiringPi接口中的GPIO 1,所以在代码中的引脚编号为1。Linux内核通过sysfs支持硬件PWM,所以这个部分的内容不仅限于树莓派,实际上所有实现了对应驱动的开发板都一样。可以看到GPIO12的第零号替代功能是PWM0,而GPIO41的第零号替代功能是PWM1。写对应的序号,会清空对应的PWM导出目录,并且删除配置。
2024-04-25 10:06:24
1653
1
原创 使用libgpiod控制有源蜂鸣器发声
无源蜂鸣器内部不带震荡源,使用直流信号无法使其发出响声,必须使用2K~5K的方波去驱动它。优点:声音频率可控,在某些特例中可以和LED复用一个控制口。缺点:程序控制繁琐。有源蜂鸣器只需要给高低电平信号就能控制其是否发出响声,因此可以直接使用libgpiod控制其发声。具体的使用方式与控制led灯类似。有源蜂鸣器内部自带震荡源,只要通电就会响。优点:程序控制方便。缺点:只能发出固定的声响。,当给低电平时发出响声,给高电平时不响。使用C语言编程控制蜂鸣器是否发出响声。这里的“源”不是指电源,而是指震荡源。
2024-04-25 10:02:23
289
1
原创 树莓派通过libgpiod控制Led三色灯
为方便Linux用户能够在应用程序空间直接使用命令行来操作控制GPIO,Linux内核 GPIOlib 使用/sys伪文件系统导出了一个文件夹, 这样用户在命令行通过echo命令就可以直接操作这些GPIO口了。接下来我们以控制RGB三色灯的红灯为例,讲解 sysfs接口的 GPIO操作。从前面的分析我们知道,RGB三色灯的红灯连到了树莓派的物理引脚33#引脚上,该引脚为BCM编码的GPIO13。使用下面命令我们可以导出GPIO13的相应接口。成功执行上面命令后,我们可以看到路径下多了一个gpio13。
2024-04-25 09:58:15
1489
2
原创 Tex Live2023安装失败open(>C:\Users\\x{00d4}2\x{00d4}2\x{00d4}2\AppData\Local\Temp\QbCnNVypEk\jC_m1xkMkj/
右击此电脑->点击属性->选择高级系统设置->选择环境变量->在用户变量中选中TEMP和TMP,依次编辑它们,修改其值为“%SystemRoot%\TEMP”(TEMP和TMP都做相同的修改)打开cmd,输入tex -version验证是否安装成功,如果出现版本号则为安装成功。的回答,修改了环境变量的相关配置后不再出现这个错误,可以顺利安装。在网上找了搜索后发现这个错误是因为我的用户名为中文,参考了。
2024-01-24 20:57:21
734
原创 VMware下安装Ubuntu
设置用户名和密码,computer’s name 建议设为Ubuntu18。Ubuntu版本: Ubuntu 18.04。重启后,使用之前设置的用户名和密码登录即可。VMware版本:WMwar17.0.0。此时的Ubuntu并不能全屏显示,根据。修改磁盘文件存放地址,默认会放在C盘。然后就是安装,安装的过程可能有点久。的博客操作,就能实现全屏显示了。
2023-06-02 19:25:23
212
原创 解决VMware中Ubuntu无法全屏显示问题
VMware版本:VMware Workstation 17.0.0Ubuntu版本: 18.04在VMware中,初次使用Ubuntu时,将VMware放大到全屏时,Ubuntu并不会自适应地放大自己的屏幕,试过网上好多方法都不能成功,后来试了这篇博客中的方法成功设置Ubuntu自适应屏幕。
2023-06-02 16:25:26
2117
原创 Linux 非root用户安装sqlite3数据库
非root权限用户手动安装sqlite,并使用gcc test_sql.c -lsqlite3 -L/home/xxx/sqlite3/lib -I/home/xxx/sqlite3/include的方式编译数据库文件
2022-10-28 17:17:32
1109
原创 使用码云托管代码
一、注册账号我的工作台 - Gitee.comhttps://gitee.com/二、创建仓库1. 数据管理->仓库空间信息2. 新建仓库添加仓库的相关信息三、在Linux中使用gitee托管代码1. 创建仓库成功后,点击仓库名,进入仓库,点开克隆/下载可以查看仓库地址(git@gitee.com:xxxx/yy.git)2. 复制仓库地址,在Linux中使用命令git clone git@gitee.com:xxxx/yy.git(复制的仓...
2022-03-22 17:15:58
1856
原创 栈的数组实现
栈原理代码实现typedef struct stack_info{ int *data; int top; int bottom; int size; int cnt;//count}stack_t;int main(){ stack_t stack; memset(&stack, 0, sizeof(stack));//将stack中的数据都置为0 stac.
2022-03-15 15:37:21
407
原创 C语言 《电话订餐系统》数组实现
问题描述一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预定。假设我们是饭馆负责接受电话预定的服务员,我们需要做些什么呢?首先,需要准备一张适当大小的白纸,等待顾客的电话。李红最先打进了电话,她预约第二天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12 点 5人”;接着刘娜、王涵、孙杰和赵军分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:李红 12点 5人刘娜 11点 2人王涵 11点50 3人孙杰 10点10 4人赵军 13点20 6人题目分析这是
2022-03-08 14:53:50
2855
1
原创 树莓派获取温度
文件IO操作—树莓派获取温度ds18b20问题描述:通过树莓派获取室内温度思路:首先登陆到树莓派上,使用cat命令查看 /sys/bus/w1/devices/28-041731f7c0ff/w1_slave 文件可以得到当前温度(不同树莓派的28-后的值不一样,要根据自己的实际情况查看),得到当前的温度为11.5℃。其实,通过树莓派获取温度也就是对文件w1_slave的读取操作。但是由于不同设备的名称不一样,为使代码具有可移植性,在打开文件w1_slave之前先找到28-041731f7c0ff(
2021-01-29 14:58:01
869
4
原创 apue 文件IO操作
文件IO操作–复制文件要求:将文件1复制到文件2流程:打开文件1,文件2 ;读出文件1当中的数据,数据存在缓冲区中;将缓冲区中的数据写到文件2中。代码展示:#include <stdio.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include &l
2021-01-28 20:15:42
142
原创 Ubuntu 修改DNS
Ubuntu pingDNS地址可以通,但是无法进行域名解析Ubuntu pingDNS地址可以通,但是无法进行域名解析下载时却无法解析域名使用cat /etc/resolv.conf 查看配置文件中的nameserver,发现nameserver只有127.0.0.53使用vim /etc/resolv.conf打开配置文件,进行修改。在原有的nameserver前一行添加nameserver 114.114.114.114(当然你也可以添加其他的域名服务器)在对/etc/resolv.c
2021-01-28 11:08:24
736
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人