- 博客(12)
- 收藏
- 关注
原创 RTT设备和驱动(3)PIN设备
访问 PIN 设备应用程序通过 RT-Thread 提供的 PIN 设备管理接口来访问 GPIO,相关接口如下所示:函数 描述rt_pin_mode() 设置引脚模式rt_pin_write() 设置引脚电平rt_pin_read() 读取引脚电平rt_pin_attach_irq() 绑定引脚中断回调函数rt_pin_irq_enable() 使能引脚中断rt_pin_detach_irq() 脱离引脚中断回调函数获取引脚号为 PF9 的 LED0 对应的引脚编号的示例代码如下所示:#
2021-03-17 16:21:23
1033
原创 RTT设备和驱动(2)UART 设备
访问串口设备应用程序通过 RT-Thread提供的 I/O 设备管理接口来访问串口硬件,相关接口如下所示:函数 描述rt_device_find() 查找设备rt_device_open() 打开设备rt_device_read() 读取数据rt_device_write() 写入数据rt_device_control() 控制设备rt_device_set_rx_indicate() 设置接收回调函数rt_device_set_tx_complete() 设置发送完成回调函数rt_de
2021-03-16 17:21:32
2613
原创 RTT设备和模型(1)I/O 设备模型
I/O 设备模型框架IO设备模型I/O 设备类型创建和注册 I/O 设备设备访问示例RT-Thread 提供了一套简单的 I/O 设备模型框架,如下图所示,它位于硬件和应用程序之间,共分成三层,从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。应用程序通过 I/O 设备管理接口获得正确的设备驱动,然后通过这个设备驱动与底层 I/O 硬件设备进行数据(或控制)交互。设备驱动框架层是对同类硬件设备驱动的抽象,将不同厂家的同类硬件设备驱动中相同的部分抽取出来,将不同部分留出接口,由驱动程序实现
2021-03-16 11:01:50
592
原创 MQTT-服务质量QOS-订阅主题和订阅确认
MQTT服务质量QOS服务质量就是表示报文要分送几次QOS 0:最多分发一次QOS 1:至少分发一次QOS 2:只分发一次订阅主题和订阅确认
2020-11-16 18:00:53
601
原创 MQTT-connect控制报文
MQTTconnect控制报文报头connect控制报文报头固定报头+可变报头+有效载荷固定报头:byte1(MQTT报文类型(4567bit)+Reserved保留位(0123bit)) +byte2(剩余长度)可变报头:协议名+协议级别+连接标志+保持连接协议名:六个字节(00 04 4D 51 54 54) 长度MSB 长度LSB M Q T T(byte6)协议级别:level 04(byte7)连接标志:user name(bit7) password flag (bit6)…b
2020-11-16 17:02:49
194
原创 C调试宏DEBUG的定义与使用
C调试宏的定义与使用例#ifdef DEBUG#define debug(...) fprintf(stderr, "message(%s, %s(), %d): ", __FILE__, __FUNCTION__, __LINE__); fprintf(stderr, __VA_ARGS__)#else#define debug(...) #endif上面的宏的功能是:将debu...
2020-04-24 11:00:12
1096
1
原创 C的条件编译
有时候我们希望程序有多种配置,我们在源代码编写时写好了各种配置的代码,然后给个配置开关,在源代码级别去修改配置开关来让程序编译出不同的效果。条件编译中用的两种条件判定方法分别是#ifdef 和 #if 区别:#ifdef XXX判定条件成立与否时主要是看XXX这个符号在本语句之前有没有被定义,只要定义了(我们可以直接#define XXX或者#define XXX 12或者#define X...
2020-04-18 08:02:02
400
原创 C大小端模式
大小端模式计算机存储系统中的大小端在计算机内存、硬盘、Nand中,因为存储系统是32位的,但是数据仍然是按照字节为单位的,一个32位的二进制在内存中存储是就有2种分布方式:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。它们没有对错好坏优劣之分,但是要求读取和存储时要保...
2020-04-17 09:42:09
155
原创 C语言实现匿名聊天(多客户端一服务器)
C语言实现匿名聊天(客户端之间)客户端#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <...
2020-04-17 08:04:55
429
原创 C语言实现服务器客户端通信(互发信息)
C语言实现服务器客户端通信(互发信息)客户端服务器net.hnet.cserver.c客户端利用select实现#include <stdio.h>#include <string.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <...
2020-04-17 07:39:50
4207
原创 linux网络通信cs无限收发模型
只需修改IP即可使用服务器#include <stdio.h>#include <string.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <strings.h>#include <arpa/inet.h>#...
2020-02-16 17:29:51
221
原创 STM32点亮LED寄存器版
寄存器点亮LED在库函数盛行的今天,不知道有没有和我一样还在学习寄存器的小萌新呢?话不多说,直接开干!1 首先我们需要知道,我们需要先了解GPIO到底是个什么东西?通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和...
2019-11-21 21:06:38
542
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人