HI3861
文章平均质量分 91
高性能32bit微处理器,最大工作频率160MHz/
内嵌SRAM 352KB, ROM 288KB, 用户RAM160KB, 2MB Flash/ WIFI 4, 2.4 GHz/ 3xUART, 2xSPI, 2xI2C, 15xGPIO, 7路ADC, 6路PWM
Leung_ManWah
这个作者很懒,什么都没留下…
展开
-
HI3861学习笔记(26)——接入中国移动物联网开放平台OneNET
是中移物联网有限公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持各类传感器和智能硬件的快速接入和大数据服务,提供丰富的API和应用模板以支持各类行业应用和智能硬件的开发,能够有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全、大数据分析等平台级服务需求。原创 2022-08-21 21:11:43 · 2640 阅读 · 0 评论 -
HI3861学习笔记(25)——接入华为云物联网平台IoT
一、平台简介设备接入服务(IoTDA) 是华为云的物联网平台,提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务。官网主页:https://www.huaweicloud.com/product/iothub.html帮助文档:https://support.huaweicloud.com/iothub/index.html平台架构:二、Demo体验与SDK下载2.1 创建产品单击左侧导航栏“产原创 2022-05-03 18:30:11 · 6098 阅读 · 8 评论 -
HI3861学习笔记(24)——MQTT客户端
一、MQTT简介1.1 实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);payload,可以理解原创 2022-04-04 14:15:26 · 3616 阅读 · 2 评论 -
HI3861学习笔记(23)——UDP服务端
一、TCP与UDP优缺点1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。4、每一条TCP连接原创 2022-03-16 16:30:34 · 441 阅读 · 0 评论 -
HI3861学习笔记(22)——UDP客户端
一、TCP与UDP优缺点1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。4、每一条TCP连接原创 2022-03-15 18:12:24 · 627 阅读 · 0 评论 -
HI3861学习笔记(21)——TCP服务端
一、TCP与UDP优缺点1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。4、每一条TCP连接原创 2022-03-08 23:14:01 · 877 阅读 · 2 评论 -
HI3861学习笔记(20)——TCP客户端
一、TCP与UDP优缺点1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。TCP通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。4、每一条TCP连接原创 2022-02-23 21:20:58 · 948 阅读 · 0 评论 -
HI3861学习笔记(19)——WiFi接口使用(STA和AP模式)
一、简介基站模式(即 STA 模式或 Wi-Fi 客户端模式),此时 HI3861 连接到接入点 (AP)。AP 模式(即 Soft-AP 模式或接入点模式),此时基站连接到 HI3861。二、API说明以下 AP热点 接口位于 foundation\communication\interfaces\kits\wifi_lite\wifiservice\wifi_hotspot.h。业务BUILD.gn中包含路径include_dirs = [ "//utils/原创 2021-12-14 19:52:24 · 6281 阅读 · 2 评论 -
HI3861学习笔记(18)——UART串口使用
一、简介1.1 UART通用异步收发送器(UART)是一种硬件特性,它使用广泛适应的异步串行通信接口(如RS 232、RS 422、RS 485)来处理通信(即时序要求和数据帧)。UART提供了一种广泛采用和廉价的方法来实现不同设备之间的全双工或半双工数据交换。1.2 GPIO复用功能HI3861V100 芯片有 15 个 GPIO,引脚分布如下:其中 UART 端口有 3 个,其中 UART0 用于调试,每个 GPIO 可复用成 UART 的端口如下:Pin管脚名称复用信号原创 2021-11-29 10:15:15 · 4347 阅读 · 6 评论 -
HI3861学习笔记(17)——NFC标签NT3H1201使用
一、简介NT3H1x01W0FHK NFC芯片,是一款简单,低成本的NFC标签。特点:工作频率:13.56MHz;NT3H1101(NT3H1201)支持接触式和非接触式接口,IIC从机接口支持标准模式(100KHz)和高速模式(高达400KHz);用户读写区:1904 bytes;SRAM:64 bytes;NT3H1101(NT3H1201) NFC标签可直接作为标准IIC EEPROM使用;外部连接板载NFC射频天线。NT3H1201芯片与微控制器遵循I2C通信协议,NFC原创 2021-10-20 14:40:31 · 9209 阅读 · 8 评论 -
HI3861学习笔记(16)——光强度GY-30(BH1750)使用
一、简介BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。传感器特点:支持I2CBUS接口接近视觉灵敏度的光谱灵敏度特性输出对应亮度的数字值对应广泛的输入光范围。(相当于1-65535lx)通过降低功率功能,实现低电流化。通过50Hz/60Hz除光噪音功能实现稳定的测定。支持1.8v逻辑输入接口。无需其他外部件。光源依赖性弱。有两种可选原创 2021-10-10 21:19:41 · 1861 阅读 · 1 评论 -
HI3861学习笔记(15)——I2C接口使用
一、简介1.1 I2CI2C(Inter-Integrated Circuit ,内部集成电路) 总线是一种由飞利浦 Philip 公司开发的串行总线。是两条串行的总线,它由一根数据线(SDA)和一根 时钟线(SDL)组成。两条线都需要上拉电阻。I2C 总线上可以接多个 I2C 设备,每个器件都有一个唯一的地址识别。同一时间只能有一个主设备,其他为从设备。通常 MCU 作为主设备控制,外设作为从设备。1.2 GPIO复用功能HI3861V100 芯片有 15 个 GPIO,引脚分布如下:原创 2021-10-10 18:38:49 · 4547 阅读 · 3 评论 -
HI3861学习笔记(14)——ADC接口使用
一、简介1.1 ADCADC(Analog-to-Digital Converter),即模拟-数字转换器,可以将连续变化的模拟信号转换为离散的数字信号,进而使用数字电路进行处理,称之为数字信号处理。1.2 GPIO复用功能HI3861V100 芯片有 15 个 GPIO,引脚分布如下:其中 ADC 通道有 7 个,其中 GPIO 可复用成 ADC 的通道如下:Pin管脚名称复用信号6GPIO_04ADC117GPIO_05ADC219GPIO原创 2021-10-09 18:24:57 · 4321 阅读 · 2 评论 -
HI3861学习笔记(13)——PWM接口使用
一、简介1.1 PWM**脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调试。**是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。例如上图中,图b)是微处理输出的数字信号,实际上他接到电机等功率设备上时,效果相当于图a)。这就是PWM调制。例如输出占空比为50%,频率为10Hz的脉冲,高电平为3.3V.则其输出的模拟效果相当于输出一个1.65V的高电平。脉冲调制有两个重要的参数,第原创 2021-10-09 11:59:54 · 7873 阅读 · 4 评论 -
HI3861学习笔记(12)——GPIO输入接口使用
一、简介HI3861V100 芯片有 15 个 GPIO,引脚分布如下:二、API说明以下 GPIO 接口位于 base\iot_hardware\interfaces\kits\wifiiot_lite\wifiiot_gpio.h。业务BUILD.gn中包含路径include_dirs = [ "//utils/native/lite/include", "//kernel/liteos_m/components/cmsis/2.0", "/原创 2021-08-28 15:53:29 · 3207 阅读 · 1 评论 -
HI3861学习笔记(11)——GPIO输出接口使用
一、简介HI3861V100 芯片有 15 个 GPIO,引脚分布如下:二、API说明以下 GPIO 接口位于 base\iot_hardware\interfaces\kits\wifiiot_lite\wifiiot_gpio.h。业务BUILD.gn中包含路径include_dirs = [ "//utils/native/lite/include", "//kernel/liteos_m/components/cmsis/2.0", "/原创 2021-07-26 22:31:37 · 3778 阅读 · 3 评论 -
HI3861学习笔记(10)——LiteOS(CMSIS-RTOS2)消息队列
一、简介1.1 消息队列消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。任务能够从队列里面读取消息,当队列中的消息是空时,挂起读取任务;当队列中有新消息,挂起的读取任务被唤醒并处理新消息。用户在处理业务时,消息队列提供了异步处理机制,允许将一个消息放入队列,但并不立即处理它,同时队列还能起到缓冲消息作用。LiteOS中使用队列数据结构实现任务异步通信工作,具有如下特性:消息以先进先出方式排队,支持异步读写工作原创 2021-07-18 19:38:19 · 1152 阅读 · 2 评论 -
HI3861学习笔记(9)——LiteOS(CMSIS-RTOS2)互斥锁
一、简介1.1 互斥锁在多任务环境下,往往存在多个任务竞争同一共享资源的应用场景,互斥锁可被用于对共享资源的保护从而实现独占式访问。互斥锁(mutex)又称互斥型信号量,是一种特殊的二值信号量,用于实现对共享资源的独占式处理。另外,Huawei LiteOS提供的互斥锁通过优先级继承算法,解决了优先级翻转问题。1.2 互斥锁的使用方式在任意时刻,互斥锁的状态只有两种:开锁和闭锁。当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。当该任务释放它时,该互斥锁被开锁,任务失去该互斥锁原创 2021-07-11 18:02:31 · 1635 阅读 · 1 评论 -
HI3861学习笔记(8)——LiteOS(CMSIS-RTOS2)事件管理
一、简介1.1 事件基本概念事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输,一个任务可以等等多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。事件集合用32位无符号整型变量来表示,每一位代表一个事件。多任务环境下,任务之间往往需要同步操作。事件可以提供一对多、多对多的同步操作。一对多同步模型:一个任务等待多个事件的触发;多对多同步模型:多个任务等待多个事件的触发。任务可以通过创建事件控制原创 2021-07-04 23:10:48 · 1031 阅读 · 1 评论 -
HI3861学习笔记(7)——LiteOS(CMSIS-RTOS2)信号量
一、简介1.1 信号量信号量(Semaphore) 是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问。在多任务操作系统中,不同的任务之间需要同步运行,信号量功能可以为用户提供这方面的支持。1.2 信号量的使用方式信号量可以被任务获取或者申请,不同的信号量通过信号量索引号来唯一确定,每个信号量都有一个计数值和任务队列。通常一个信号量的计数值用于对应有效的资源数,表示剩下的可被占用的互斥资源数,其值的含义分两种情况:0: 表示没有积累下来的 Post 操作,且有可能有在此信号量上阻原创 2021-06-27 14:56:00 · 1171 阅读 · 0 评论 -
HI3861学习笔记(6)——LiteOS(CMSIS-RTOS2)软件定时器
一、简介软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后会触发用户定义的回调函数。定时精度与系统Tick时钟的周期有关。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,因此为了满足用户需求,提供更多的定时器,LiteOS操作系统提供软件定时器功能。软件定时器扩展了定时器的数量,允许创建更多的定时业务。软件定时器功能上支持:静态裁剪:能通过宏关闭软件定时器功能。软件定时器创建。软件定时器启动。软件定时器停止。软件定时器删除。软件定时原创 2021-06-07 09:40:08 · 2592 阅读 · 2 评论 -
HI3861学习笔记(5)——LiteOS(CMSIS-RTOS2)任务管理
一、简介从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。LiteOS中的任务是抢占式调度机制,高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度,同时支持时间片轮转调度方式。LiteOS的任务默认有32个优先级(0-31),最高优先级为0,原创 2021-06-06 15:58:49 · 1694 阅读 · 0 评论 -
HI3861学习笔记(4)——CMSIS-RTOS2接口
一、CMSIS-RTOS2接口简介CMSIS是Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对Cortex-M系列提出的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。**CMSIS-RTOS2(CMSIS-RTOS原创 2021-05-24 09:58:36 · 1982 阅读 · 6 评论 -
HI3861学习笔记(3)——编译构建和代码运行过程
一、Ninja编译工具简介在Unix/Linux下通常使用Make/Makefile来控制代码的编译,但是Makefile对于比较大的项目有时候会比较慢,Ninja是Google的一名程序员推出的注重速度的构建工具,通过将编译任务并行组织,大大提高了构建速度。Ninja的目标是成为汇编程序。二、编译生成bin文件过程2.1 JSON文件首先执行 hpm dist。编译的时候使用到了 json 文件 BearPi-HM_Nano.json ,位于 bulid/lite/product 中,该文原创 2021-05-16 18:29:20 · 1835 阅读 · 7 评论 -
HI3861学习笔记(2)——新建工程(打印Hello World)
一、添加Hello World源码文件1.1 确定目录结构开发者编写业务时,务必先在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个目录(或一套目录结构),用于存放业务源码文件。例如:在 app 下新增业务 my_app,其中 hello_world.c 为业务代码,BUILD.gn 为编译脚本,具体规划目录结构如下:.└── applications └── BearPi └── BearPi-HM_原创 2021-05-10 09:50:16 · 1703 阅读 · 3 评论 -
HI3861学习笔记(1)——搭建环境、编译烧写
一、搭建环境1.1 安装VMware链接:https://pan.baidu.com/s/1oN7H81GV0g6cD9zsydg6vg 提取码:mrn91.2 安装鸿蒙Ubuntu18.4镜像OVF链接:https://pan.baidu.com/s/1T0Tcl3y48C1p5L6y-6HJNg 提取码:eusrUbuntu用户:HarmonyOS 密码:bearpi1.3 设置网络在 VMware Workstation 中,点击虚拟机>>设置然后在网络适配原创 2021-05-03 17:43:25 · 5757 阅读 · 10 评论