zigbee模块(型号:E72 芯片:CC2652P)固件烧录操作步骤如下:
一、准备工作
1.下载固件及工具并解压
百度网盘下载:
链接:https://pan.baidu.com/s/1BHZ262we-GfNL6st1qgq2g
提取码:0358
2.下载USB虚拟串口驱动并安装
http://www.wch.cn/downloads/CH341SER_EXE.html
zigbee模块(型号:E72 芯片:CC2652P)固件烧录操作步骤如下:
1.下载固件及工具并解压
百度网盘下载:
链接:https://pan.baidu.com/s/1BHZ262we-GfNL6st1qgq2g
提取码:0358
2.下载USB虚拟串口驱动并安装
http://www.wch.cn/downloads/CH341SER_EXE.html
paho.mqtt.c-master.zip
直接下载源码即可,根据自己想要的版本下载就好,一般选最新稳定版
下载链接:
github:https://github.com/eclipse/paho.mqtt.c/releases
gitee:https://gitee.com/IOTTS/paho.mqtt.c.git
//查看引脚状态1
cat /sys/kernel/debug/gpio
//查看gpio引脚的复用情况1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18cat /sys/kernel/debug/pinctrl/pinctrl/pinmux-pins
Pinmux settings per pin
Format: pin (name): mux_owner gpio_owner hog?
pin 0 (gpio0-0): wireless-wlan (GPIO UNCLAIMED) function wireless-wlan group wifi-wake-host
pin 1 (gpio0-1): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 2 (gpio0-2): (MUX UNCLAIMED) gpio0:2
pin 3 (gpio0-3): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 4 (gpio0-4): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 5 (gpio0-5): (MUX UNCLAIMED) gpio0:5
pin 6 (gpio0-6): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 7 (gpio0-7): (MUX UNCLAIMED) gpio0:7
pin 8 (gpio0-8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 9 (gpio0-9): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 10 (gpio0-10): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 11 (gpio0-11): ff050000.i2c (GPIO UNCLAIMED) function i2c1 group i2c1-xfer
pin 12 (gpio0-12): ff050000.i2c (GPIO UNCLAIMED) function i2c1 group i2c1-xfer
pin 13 (gpio0-13): (MUX UNCLAIMED) (GPIO UNCLAIMED)
要从用户层控制gpio前提是这个引脚是gpio或者已经复用为gpio
最近有项目需要用到RK3568的GPIO进行功能开发,找到关于GPIO操作例程,特此记录一下,例程是基于英伟达开发板的,简单修改一下就可以应用到RK3568,中间可能需要修改设备树,这里略过设备树修改,以后会再专门讲解
首先使用shell命令测试一下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21echo 192 > /sys/class/gpio/export
#导出编号为192的gpio
#如果这个gpio导出成功,会多出一个文件夹/sys/class/gpio/gpio192/
echo 192 > /sys/class/gpio/unexport
#取消导出
echo out > /sys/class/gpio/gpio192/direction
#设置为输出
echo 1 > /sys/class/gpio/gpio192/value
#输出高
echo in > /sys/class/gpio/gpio192/direction
#设置为输入
cat /sys/class/gpio/gpio192/value
#读取输入值
#也可以直接向value中写入high或low,gpio被设置成输出,并输出对应电平
echo high > /sys/class/gpio/gpio192/value
#设置为输出,并输出高电平
#上述命令都会需要root权限
每个芯片都有自己的gpio编号计算公式,需要先将引脚编号转换成数字编号再进行操作
在Linux C编程中,获取时间是一个常见的需求。可以使用系统提供的函数来获取当前时间,以及进行时间的格式化和计算。下面将详细介绍如何在Linux C中获取时间。
1. 获取当前时间
要获取当前时间,可以使用time函数。time函数返回自1970年1月1日以来经过的秒数。示例代码如下:
1 | #include <stdio.h> |
上述代码中,time函数将当前时间的秒数保存在Time变量中,然后使用ctime函数将其转换为可读的字符串格式并打印出来。
如果您正在使用C语言编程,并需要在JSON数据中增加值,本文将为您提供一种方法。在C语言中,我们可以使用第三方库,如 cJSON 来处理JSON数据。下面是一个简单的例子,演示如何在一个JSON数组中增加值。
1 | #include <stdio.h> |
在这个例子中,我们首先定义了一个 JSON 字符串,包含两个人的信息。然后,我们使用 cJSON_Parse 方法将其解析为一个 cJSON 对象。接下来,我们创建了一个新的 cJSON 对象,表示一个新的人。使用 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 方法,我们向新 cJSON 对象中添加了姓名和年龄属性。最后,使用 cJSON_AddItemToArray 方法,我们将新 cJSON 对象添加到原先的 JSON 数组中。最后,将修改后的 JSON 对象打印出来。
在这个例子中,我们演示了如何使用 cJSON 库来向 JSON 数组中增加值。当然,您可以根据您的需要修改这个示例,实现不同的操作。
1、ubuntu安装命令
1 | sudo apt-get install sox // 工具。 |
2、代码通过系统 system 播放(play是sox软件播放的命令)
1 | #include <stdio.h> |
常用命令和说明推荐文档:
sox常用命令
sox-音频处理工具
由于项目中遇到需要发送http请求,然后再解析接收到的响应。大概在网上搜索了一下,有两个比较不错,分别是http-parser和fast-http。
http-parser是由C编写的工具;fast-http是大部分移植自http-parser,用lisp语言编写的,不太适合目前的项目。fast-http介绍文档《fast-http》。
有一篇文章《HTTP 协议解析库:fast-http》介绍了fast-http,并且和http-parser进行了简单比较,结论是fast-http更快,快一倍。
1 | /* |
1 | import sys |