自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (11)
  • 收藏
  • 关注

原创 嵌入式工程师必须知道的变量修饰关键字volatile

volatile定义:volatile是一个类型修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。volatile作用:经过它修饰的变量能防止编译器对其进行优化,XBYTE[2]=0x55;...

2019-03-08 13:43:52 459

原创 Ubuntu技巧:linux下以人易读形势查看文件大小

在linux开发下,有时需要知道文件详细大小,但是用ls -l命令只能显示文件的字节数,不直观参考:https://www.cnblogs.com/lixuwu/p/5944062.html我们查看一下ls命令的manpage使用:ls -lh即可以人易读形式显示文件的内容:...

2019-03-02 10:23:40 1095

原创 系统文件io与C标准库文件io区别

系统调用常用于 I/O 文件操作,系统调用常用的函数有 open、close、read、write、lseek、ulink 等使用时一般需要包含如下头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>ANSI C 文...

2019-03-01 16:14:51 357

原创 快速排序算法学习记录

//快速排序采用分治思想,好的情况下时间复杂度 O(N*log2n),在数据本来就是有序的时候时间复杂度最差为(n的平方)//步骤/*1,找个基准值,记录从最左端i和最右端j分别向中间遍历,/当在遍历期间遇到了dat[j] < temp 或dat[i] > temp,将dat[i] dat[j]位置进行交换,直到i和j“碰头”2,找到基准值该放的位置,把基准值与最左端位置数...

2019-02-28 17:08:00 133

原创 C语言关于sizeof总结

一、sizeof用来计算一个变量,或者数据类型的长度,以字节为单位。它是一个操作符,如同++,--一样,单操作数。比如在我的电脑上,sizeof(int)=4,sizeof(long)=4。还有一般要求的sizeof(char)=1。二、sizeof在数组与指针上的特性C语言中的指针使其具备了强大的功能,同时也造成了许多迷惑。众多迷惑中的一点是sizeof在对待数组与指针上的差别。...

2019-02-28 16:49:11 416

原创 Ubuntu技巧:linux编程之GDB调试

GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能:1 在程序中设置断点,当程序运行到断点处暂停2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显示出来3 单步执行4 运行时修改变量的值5 跟踪路径6 线程切换gdb基本命令列表:下面以以下程序为例当我们要使用GDB进行程序的调试时,在用GCC编译时...

2019-02-25 14:55:54 208

原创 FreeRTOS 和uCOS II的简单比较

freeRTOS比uCOS II优胜的地方:1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。3。freeRTOS 可以有优先度一样的任...

2019-02-25 14:17:32 1860

转载 SMBus协议与IIC协议区别

1、介绍 系统管理总线(SMBus)是一个两线接口。通过它,各设备之间以及设备与系统的其他部分之间可以互相通信。它基于I2C操作原理。SMBus为系统和电源管理相关的任务提供一条控制总线。一个系统利用SMBus可以和多个设备互传信息,而不需使用独立的控制线路。 系统管理总线(SMBus)标准涉及三类设备。从设备,接收或响应命令的设备。主设备,用来发布命令,产生...

2019-02-25 14:01:28 33107

转载 结构体里的元素前面有一点“.”代表什么意思--结构体成员的初始化

 结构体里的元素前面有一点“.”代表什么意思?比如 .goodvar转载自:百度知道 在android的bootloader源码目录中,发现这个文件lk/app/aboot/aboot.c里面有一个关于结构体的定义,让我有点不太明白,哪位高手来解惑一下?struct atag_tcc_entry{ch...

2019-02-21 11:53:02 1753

转载 Qt中QFont详解以及arm移植字库的配置

常用设置:1、设置字体粗细SetWeight();2、设置字体斜体SetItalic();3、设置下划线SetUnderline();4、设置字体SetFamily()设置微软字体,宋体,楷体等等5、设置字体大小SetPixelSize()、SetPointSize()、SetPointSizeF()6、设置字体是否加粗SetBold()7、比较常用的是se...

2019-02-21 00:46:02 1170

原创 XFS5152CE芯片STM32的GPIO模拟I2C驱动播报语音

XFS5152CE是科大讯飞的TTS语音合成芯片,提供UART,SPI,I2C三种接口为用户实现TTS语音数据的传输播报。下面以STM32为主设备用I2C接口方式进行语音芯片的驱动,XFS5152CE作为从设备,接收主设备发过来的播报数据帧进行处理播报输出。由官方提供的芯片用户手册,我们可以参考器电路原理进行硬件连接,参考其i2c接口提示,进行软件驱动的编写与调试。由于说STM32...

2019-02-16 17:05:55 4765 10

转载 I2C总线传输协议

简介I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。I2C最早是飞利浦在1982年开发设计并用于自己的芯片上,一开始只允许100kHz、7-bit标准地址。1992年,I2C的第一个公共规范发行,增加了400kHz的快速模式以及10-bit...

2019-02-15 09:52:02 179

原创 C语言面试题字符串处理"i am an engineer"转"engineer an am i"

面试时遇到一个C语言的题目,将"i am an engineer"转"engineer an am i",字符串特点是不定长度的字符串由多个子字符串和空格构成,最终将字符串中每个子字符串逆序形成最终字符串。这里用指针方式处理字符串,源码如下:#include <stdio.h>#include <string.h>char nixu_func1(char *...

2019-02-14 10:12:54 335

原创 Ubuntu技巧:SCP远程服务器与本地Ubuntu文件收发

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点...

2019-02-14 09:03:57 884

原创 Linux学习之i-mx287学习:curl使用post方式获取网页天气信息出现CURLcode=60解决方案

参考:https://blog.csdn.net/xp5xp6/article/details/52350977参考:https://blog.csdn.net/fangye945a/article/details/86530858使用curl的post方式获取网页内容是常用的方式,这里就获取网页天气数据例子,遇到的一些问题进行记录。参考的博客中的post获取天气数据的测试demo如下...

2019-02-13 23:12:23 855

原创 Tomcat发布网站

参考:https://www.cnblogs.com/haorun/p/6677102.htmlhttps://blog.csdn.net/qq_35733535/article/details/79358154webRoot 根目录普通文件(HTML,css,js,images)放在外面|_WEB-INF 目录,固定写法|_classes 目录,固定写法,存放class文件|_l...

2019-02-12 15:40:15 1363

原创 Linux服务器下启动mongodb

(1)创建数据目录:# mkdir /data/mongo (2)创建配置文件# vi /data/mongo/mongodb.cnfdbpath=/data/mongo/logpath=/data/mongo/mongo.loglogappend=truefork=trueport=27017或者:不创建配置文件通过mongod参数启动也可以 (3...

2019-02-12 15:11:28 9337

转载 Linux下安装Tomcat服务器和部署Web应用

Linux下安装Tomcat服务器和部署Web应用 一、上传Tomcat服务器    二、安装Tomcat服务器2.1、解压tomcat服务器压缩包    2.2、配置环境变量  tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量    编辑/etc下的profile文件,加上如下内容:    2.3、修改tomcat服务...

2019-02-12 14:49:52 103

转载 MQTT服务器搭建--Mosquitto用户名密码配置

版权声明:欢迎大家转载: https://blog.csdn.net/u012377333/article/details/69397124 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/templa.

2019-02-12 14:45:41 1306

转载 嵌入式软件工程师面试题大全

1、int a[10]={1,2,3,4,5,6,7,8,9,0};   int *p=&a[1];   则p[6]等于82、整数数组清零:bzero(),memset()。3、sizeof();测试变量所占地址的字节数4、 main()  {   char *str...

2019-02-08 23:39:06 2124

转载 bzero和memset函数比较

bzero函数函数原型:void bzero(void *s, int n);头文件:#include <string.h>功能:将字符串s的前n个字节置为0,一般来说n通常取sizeof(s),将整块空间清零。返回值:无返回值例子:将一个数组清零:char str[10];bzero( str,...

2019-02-08 23:34:56 547

原创 恩智浦MKL26Z128VFT4单片机官方提供keil版SDK配置使用

MKL26Z128VFT4单片机KEIL工程创建验证最近在用一款恩智浦core-m0核的单片机,由于供应商提供的开发sdk不适用,所以决定自己研究单片机底层创建基于MKL26Z128VFT4单片机的KEIL工程实现底层驱动的开发,在NXP官网下载SKD及keil工程配置工程中遇到的一些问题和解决方案进行记录。 1、SDK创建下载(1)选择芯片适用的SDK模板,进行下载,下载地址:h...

2019-02-01 11:51:00 3632 3

转载 MCUXPresso IDE:用于NXP ARM Cortex-M微控制器的统一的Eclipse IDE

半导体行业内上演了很多的并购案,其中最大的一个是2016年飞思卡尔半导体与恩智浦半导体的合并,两者同时为其客户群提供基于Eclipse的IDE。 于是,公司并购引发了IDE的合并,并且恩智浦上周发布了其全新的开发环境:MCUXpresso IDE。概述MCUXpresso基本上是“开挂的LPCXpresso”...

2019-01-30 11:53:46 2246

原创 Linux学习之i-mx287学习:libcurl库函数接口说明及调用示例

一、LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网http:...

2019-01-29 09:27:43 699

原创 curl库安装ARM板测试验证出错curl: (60) SSL certificate problem: unable to get local issuer certificate

在编译好curl和openssl库后,在I-MX287A板子上运行测试工具curl时出现问题:curl: (60) SSL certificate problem: unable to get local issuer certificateMore details here: https://curl.haxx.se/docs/sslcerts.htmlcurl failed to v...

2019-01-29 00:14:19 1728

原创 QT的UI界面效果预览快捷键

QtCreator的界面预览: Shift + Alt + R运行快捷键:Ctrl+R只构建快捷键:Ctrl+B怕忘了,自己记录一下。

2019-01-28 16:41:44 8898 1

原创 Linux学习之i-mx287学习:curl在linux下交叉编译动态库遇到的问题及解决方案

最近在尝试编译curl库,安装了其所需的openssl库,在交叉编译curl库的时候,按照网上给的配置教程,一步步来,最后出了问题,所以在这里记录一下自己的配置方法和问题解决方案:参考:https://blog.csdn.net/andylauren/article/details/78821916这篇博文配置安装openssl都没有问题,但是在交叉编译curl库的时候,博文的配置指令是:...

2019-01-27 23:39:02 1482 1

原创 Linux学习之i-mx287学习:linux交叉编译中的build、host和target配置项的含义

build、host和target 在交叉编译中比较常见的一些参数就是build、host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释  --build=编译该软件所使用的平台  --host=该软件将运行的平台  --target=该软件所处理的目标平台  我们以 gcc 为例子来 讲解 这三者的作用  在gcc编译中我们使用  ./co...

2019-01-27 17:31:32 1306 1

转载 实现嵌入式linux自动同步网络时间---NTP

<p>因为ARM板断电重启问题,为保证能获取到准确的实时时间,所以需要实现自动从网络上获取时间,这就需要用到NTP。NTP是网络时间协议(Network Time Protocol)的简称,它是用来同步网络中各个计算机设备的时间的协议。目前有第三方的代码可以支持NTP,本文讲诉ntpclient的用法。</p>ntpclient is an N...

2019-01-25 15:10:46 1663 1

转载 openssl库linux编译

虚拟机环境ubuntu12.04开发板EasyARM-i.MX280A:   64m  sdram  128M  nandflash   运行官方提供的Linux-2.6.35.3内核linux首先说一下如何在主机上进行编译,并生成动态库在https://www.openssl.org/source/下载最新版的openssl,我下载的...

2019-01-25 10:53:14 1881

转载 curl在linux下编译和交叉编译动态库在ARM9上使用

虚拟机环境ubuntu12.04开发板EasyARM-i.MX280A:   64m  sdram  128M  nandflash   运行官方提供的Linux-2.6.35.3内核linux首先,如果需要使用curl解析https需要先编译openssl库,编译这个库可以参考http://blog.csdn.net/

2019-01-24 23:47:52 1043

转载 CSDN转载好博文

2019-01-24 23:36:31 135

原创 windows下基于QT5.10.0的Android开发环境搭建

windows下基于QT5.10.0的Android开发环境搭建最近在网上看到,Android也可以在QT上开发了,我想了想,这个好,以后可以直接在qt上做手机app,岂不是美滋滋。立马开工,之前在网上下载了个QT5.10.0版本的软件,在网上看到,qt5.10.0自带了qt for android编译套件,所以正好用的上。搭建开发环境时,我参考的是如下链接的博文,写的还是比较详细的,先推...

2019-01-22 11:20:23 4726 3

原创 "12 34 aD 2b"这样格式的字符串转成{0x12,0x34,0xad,0x2b}简单C语言小算法

在进行设备串口数据调试时,总会用到串口调试助手,不同的串口调试助手,发送hex数据帧的格式各不相同,像sscom软件发送hex格式报文时,用的是如下格式"FE 01 02 02 00 01 0C 12 EF":调试通过的数据帧,直接复制到c代码中,特么的还得手动加0x,换成16进制的,这就很烦了,有没有一个小算法吧这个字符串直接转成0xef格式的,在复制到数组中,这样就能提高一点效率了。所...

2019-01-18 11:54:53 1351

原创 AD09 pcb绘制技巧笔记

在IPC-7351中找到部分出处:L  (least) – footprints for handheld and heavy density applications手持和重密度应用的脚印N (normal) – footprints for industrial applications用于工业应用的脚印M (most)   – footprints for vibrated...

2019-01-17 09:08:59 4625

原创 基于I-MX287A的mqtt远程控制ARM板上LED灯小项目总结

最近在学校linux嵌入式技术,自己做了一个在周立功的I-MX287A开发板上实现的,基于MQTT远程控制的小项目,其中用到了一些比较好玩和有趣的技术,在这里自己记录分享一下。 额,让我想想该从和处开始写起吧!一、开发板上电进行工作环境配置1.1 网络配置刚拿到I-MX287A时,心情还是很激动的,因为天生对硬件开发板有着一见钟情的习惯,嘿嘿。拿到板子首先做的...

2019-01-16 22:16:39 940

原创 STM32串口iap升级用例解析

将STM32单片机的片上flash分为三个区域:IAP程序区:0x8000000~0x8004000(分16kb空间用于存储iap程序和用户信息)说明:iap程序主要是初始化一个通信串口用于接收主控发给单片机的升级bin文件数据帧,数据帧带有特定协议,后面详细说明,用户信息包含升级标志及原始参数存储,包括显示颜色、音量等级等,这些信息固定在分配的16kb空间的最后一页(一页是2kb),即0...

2019-01-16 21:54:09 1405

原创 STM32F103 中断优先级理解

        最近项目上用到STM32多串口通信,出现的问题是,串口都能正常收发数据,但是有一个串口发送数据帧给另一个主控时,数据帧出现了分包,我判断了一下,可能是通信串口发送中断被调试串口的打印中断给“截胡”了,所以来专门研究一下STM32的中断优先级,用更改串口优先级的方式来消除这种现象。先看官方给的文档说明,其中有如下图:其中有句说的很明白了,“The lower the va...

2019-01-14 10:22:48 21109 9

转载 QT中添加 动态库(.so) 和 静态库 (.a) 的方法

在QT 的Makefile文件中:1 添加动态库,如lipcap.so则,在LIBS一行中添加“-L/usr/local/lib -lpcap”,依据自己的情况修改libpcap.so的路径2 添加静态库,如libtinyxml.a则,在LIBS一行添加“/home/yzj/tinyxml/libtinyxml.a”;        在INCPATH一行添加“ -I /home...

2019-01-09 22:29:29 2063

原创 基于i-mx287 ARM9的嵌入式linux上 交叉编译paho.mqtt.embedded-c库和嵌入式linux样例程序

本文参考https://blog.csdn.net/sqshining/article/details/70193354参考上述连接进行自己的ARM9开发板上实现paho.mqtt.embedded-c库的编译,实现测试例程在周立功的i-mx287A开发板上正常运行,在交叉编译mqtt库期间遇到一些坑,在此记录并说明一番,给自己的学习之路添加一些垫脚石,也希望能对后来人一点启发提示。一、首...

2019-01-07 16:46:26 4173 8

RK628D芯片开发资料

RK628D视频接口转换芯片驱动资料

2021-11-07

RK_YTPHY_20210906.zip

YT8521S在RK3568平台的驱动补丁

2021-11-07

ZIGBEE网关节点设置QT上位机

此软件是ZigBee网关节点设置QT上位机,串口通信,集成了TSC标签打印机功能,可以设置TSC打印节点标签,使用QT5.7开发

2021-04-11

source insight4 主题文件

source insight4 主题文件,可用于设置source insight主题,主题的字体比原始的字体好看

2020-09-03

canQtApp.rar

Ubuntu下实现仿周立功CANtest上位机功能,实现QT下tableView实用参考

2019-10-06

gd32f407rtosDemo.rar

此代码是在GD32F407VKT6上实现freeRTOS系统移植,移植内容包含freeRTOS的v10.2版本的代码和实用shell测试代码。可以在此基础上完成其他任务的添加,已用GD32407V-START最小系统验证测试通过

2019-05-12

GD32F4xx与STM32F4差异文档.pdf

STM32F407与GD32F407软件差异说明,GD32技术支持提供。

2019-05-08

用于STM32的iap升级时用到的固件打包及固件下载工具软件

用于STM32的iap升级时用到的固件打包及固件下载工具软件

2019-01-29

基于STM32F103串口iap升级程序的IAP工程和APP工程

与我博客里面写的STM32串口iap升级相关博文关联,单片机下载iap和app固件后,通过QT上位机连接STM32设备串口可实现单片机固件的交替升级功能,亲测稳定可用

2019-01-17

windows下基于QT5.7的mqttClient测试上位机软件源码

mqttclient上位机调用qtmqtt库实现mqtt客户端的远程订阅及发布功能,在调试mqtt通信协议时是非常方便的一个工具,这里用QT实现的源码,可以参考

2019-01-17

基于QT5.7给STM32F103进行串口升级的上位机源码

该上位机用于给STM32进行串口IAP固件升级,上位机升级原理可以移植到其他控制器实现STM32单片机远程固件升级,亲测稳定可用

2019-01-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除