![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
物联网
文章平均质量分 74
无聊到发博客的菜鸟
加油吧
展开
-
I.MX6ULL裸机开发之串口篇
配置I.MX6ULL串口原创 2024-08-01 09:30:20 · 287 阅读 · 0 评论 -
内联汇编简介
在C语言中嵌入汇编(Assembly)代码,可以使用内联汇编(Inline Assembly),这在一些需要精确控制硬件或者优化性能的场合非常有用以下是关于ASM语法的介绍,主要基于GCC(GNU Compiler Collection)提供的内联汇编特性。原创 2024-06-03 10:30:12 · 180 阅读 · 0 评论 -
Makefile教程(附通用模板)
Makefile教程(附通用模板)原创 2024-06-03 10:28:17 · 1064 阅读 · 0 评论 -
STM32H750+LAN8720无操作系统移植lwip
STM32H750+LAN8720 移植LWIP 保证能ping通原创 2023-08-30 18:34:33 · 1994 阅读 · 13 评论 -
STM32+FreeRTOS 使用SystemView监控系统
本文以STM32F407ZET6 + FreeRTOS V9.0作为演示,其它的Cortex M芯片同样可以参考此文,其他内核和RTOS理论上也支持,本文暂时不做研究。所以开始阅读本文前,需要一块能运行FreeRTOS的Cortex M芯片,如果没有移植好操作系统,可以参考我的另一篇文章《STM32F103移植FreeRTOS完整过程》本文打包提供FreeRTOS V9.0源码SystemView安装包STM32F407ZET6示例工程原创 2023-07-11 17:30:47 · 2219 阅读 · 1 评论 -
通过DAPLink和STLink使用RTT输出日志
由于`SEGGER RTT` 自带的 `JLinkRTTViewer.exe` 只支持自家的`J-Link`,所以使用`DAPLink`和`STLink`我们得另辟蹊径,这里我们选择得是PyOCD原创 2023-07-06 09:14:00 · 4149 阅读 · 4 评论 -
基于J-Link RTT Viewer输出日志(适用于JLink DAPLink STLink)
通过RTT输出日志,可以不占额外的引脚和外设,速度非常快,几乎不影响程序的实时性原创 2023-07-04 19:39:51 · 2410 阅读 · 0 评论 -
SPI简介与实例分析
SPI 协议是由Motorola提出的通讯协议 (Serial Peripheral Interface) ,是一种高速全双工的串行通信总线。原创 2023-02-17 18:00:40 · 1339 阅读 · 0 评论 -
基于mbedtls的AES加密(C/C++)
高级加密标准(Advanced Encryption Standard,AES),是一种对称加密方式。AES支持三种加密方式:AES128,AES192,AES256,AES128标识密钥长度为128bit,AES128运算速度最快,AES256安全性最佳,三种方式的本质区别是加密轮数不同。原创 2022-12-06 15:23:09 · 2157 阅读 · 2 评论 -
LoRaWAN数据解密实例(附C源码)
讲解LoRaWAN数据如何加密解密原创 2022-11-16 12:21:34 · 1296 阅读 · 0 评论 -
基于OpenSSL的AES加密(C/C++)
高级加密标准(Advanced Encryption Standard,AES),是一种对称加密方式。AES支持三种加密方式:AES128,AES192,AES256,AES128标识密钥长度为128bit,AES128运算速度最快,AES256安全性最佳,三种方式的本质区别是加密轮数不同。原创 2022-11-14 11:18:19 · 5953 阅读 · 10 评论 -
PyQt5环境搭建
PyQt5环境搭建,并运行hello world原创 2022-06-14 09:56:35 · 95 阅读 · 0 评论 -
POSIX消息队列详解与示例
详解mq_open()#include<fcntl.h>#include<sys/stat.h>#include<mqueue.h>mqd_t mq_open(const char *name, int oflag, mode_t mode, struct mq_attr *attr);// 返回消息队列描述符,失败返回-1在fork()中子进程会接收其父进程的消息队列描述符的副本,并且这些描述符会引用同样 的打开着的消息队列描述符。子进程不会继承其父原创 2022-05-16 20:57:25 · 2433 阅读 · 0 评论 -
CRC 8/16/32通用算法(C 语言版)
CRC 8/16/32通用算法原创 2022-04-24 15:34:22 · 1640 阅读 · 3 评论 -
计算机网络之UDP数据格式(一)
数据格式校验和的概念首先需要知道“伪首部”概念,“伪首部”仅用于计算校验和,并非传输的通信数据。在UDP通信中“校验和”为0时不校验数据,这会提高数据转发速度,但是也要考虑其可能会造成的影响。Wireshark实例分析192.168.1.164:8888 向 192.168.1.193:8889发送字符串1234UDP数据包如下:源端口:22b8->8888目标端口:22b9->8889数据包长度:000c->12校验和:d148由校验和概念可知伪首部为C0A原创 2022-01-17 17:47:32 · 3791 阅读 · 0 评论 -
STM32F103移植FreeRTOS完整过程
前言演示STM32F103移植FreeRTOS完整过程,文末提供移植好的完整工程,1.下载源码下载FreeRTOSv9.0.0.zip解压如下图只用关注第一个文件夹FreeRTOS中的内容Demo是官方提供的常见芯片的移植示例,包括STM32F103,我们需要用到其中的FreeRTOSConfig.h配置文件。Source是源文件。2.拷贝源码在工程目录下创建FreeRTOS文件夹并创建子文件夹src和port将Source/include文件夹拷贝到FreeRTOS下将S原创 2021-12-06 20:30:20 · 10947 阅读 · 7 评论 -
C语言 有颜色有等级的日志实现
先看效果只需要调用log.h头文件即可,有LOG_DEBUG,LOG_INFO,LOG_WARN,LOG_ERR四个接口。其中有三个需要配置的地方。①:配置输出的接口,不同平台打印函数不一样;②:LOG等级,DEBUG INFO WARN ERR四个等级依次增高,可以选择输出的最低等级;③:地址分隔符。源码/********************************************************************************* *Autho原创 2021-11-12 16:11:10 · 1425 阅读 · 0 评论 -
Linux网络编程之域名解析DNS(三)
简介域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。常用的域名解析函数有getaddrinfo()和gethostbyname(),一些资料书认为gethostbyname()已经过时且不支持IPv6,更推荐使用getaddrinfo()。gethostbyname()的衍生版本g原创 2021-09-16 15:09:24 · 1032 阅读 · 0 评论 -
Linux C select()函数
1.功能 select 机制会监听它所负责的所有 socket,当其中一个 socket 或者多个 socket 可读或者可写的时候,它就会返回,而如果所有的 socket 都是不可读或者不可写的时候,这个进程就会被阻塞,直到超时或者 socket 可读写,当 select 函数返回后,可以通过遍历 fdset,来找到就绪的描述符。 简单点说就是,假如想在一个线程处理两个阻塞的socket时,就得用select()函数。2.函数原型int select(int maxfdp1,fd_set *r原创 2021-04-01 22:31:32 · 961 阅读 · 0 评论 -
C语言常用时间相关函数
首先讲一下#include <time.h>和#include <sys/time.h>的区别,前者是C99标准库函数,后者是Linux系统函数,如果Windows平台装了MinGW(Minimalist GNU for Windows)工具也是可以使用<sys/time.h>的,<sys/time.h>中调用了<time.h>。获取时间戳-time函数原型:time_t time(time_t *timer)变量time_t实际上是l原创 2020-11-30 11:31:33 · 1925 阅读 · 0 评论 -
ARM平台移植openssl1.1.1g
1.openssl简介在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。原创 2020-09-30 17:02:22 · 2323 阅读 · 3 评论 -
openssl详解与应用教程
通过openssl version -a查看当前openssl的版本,一般的linux系统会自带SSL。通过vim /usr/lib/ssl/openssl.cnf修改配置文件,这里修改了默认文件夹、私钥名、证书名。通过cd ssl进入默认文件夹在默认文件夹创建所需的目录和文件mkdir -pv {certs,crl,newcerts,private}touch {serial,index.txt,index.txt.attr}-pv可以显示执行进度指明证书开始的编号echo 01原创 2020-07-29 22:47:06 · 7312 阅读 · 1 评论 -
阿里云物联网平台MQTT教程
之前一直使用的中移物联网ONENET平台的MQTT的功能,由于阿里云平台的MQTT功能支持SSL,所以使用了一下阿里云平。创建产品和设备首先肯定是进入阿里云官网,并搜索物联网平台,点击物联网平台控制台,注意不是飞燕平台。点击创建产品选择直连设备和X.509证书认证,其他的大家随意。不需要用到SSL的可以选择设备密钥认证,当然选择X.509证书认证的不使用SSL也是可以的,所以我这里选择的是.509证书认证。创建成功点击添加设备,输入设备名后点击确定即可。设备添加成功后就可以在设备详情里原创 2020-07-05 22:48:49 · 7776 阅读 · 6 评论