自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (22)
  • 收藏
  • 关注

原创 nRF52832 BLE 入门 - I2C读写EEPROM

EEPROM目前选用的是K24C04。容量为4KBit,即512字节。。EEPROM的地址定义如下(注:P0的意识大概是置0):程序中,参考nordic->examples\peripheral\twi_sensor例程,进行修改:#include <stdio.h>#include "boards.h"#include "app_util_platform.h"#include "app_error.h"#include "nrf_drv_twi.h"#inc

2020-07-22 19:05:30 1554

原创 nRF52832 BLE入门 - DIS Service初始化后,如何修改其中的资料

以修改产品序列号为例:基于16.0.0版本的SDK:1. 将ble_dis_service.c内的Serialnumber句柄暴露出来:ble_gatts_char_handles_t* Ble_Dis_Get_Serial_Num_Handles(void){ return (ble_gatts_char_handles_t*)&serial_num_handles;}2. 在外部进行修改:void Ble_Dis_Service_Set_SerialNumber.

2020-07-22 19:01:32 909

原创 AK9529 - IS07816转UART智能读卡控制器芯片(续1)

上次,大致上已经连通了AK9528这颗芯片。但是其默认的模特率为38400。从速率上讲,并不是很快。幸运的是,AK9528提供了修改波特率的指令。如下所示:其中,高波特率可以支持76800,128000。都不是常见的波特率。那么就会引入以下几个问题:1. Linux的硬件以及软件,是否能够支持这些波特率。2. 往AK9528发送设置波特率的指令后,什么时候AK9528会起效(即波特...

2020-05-05 14:40:39 610 2

原创 C语言结构体数组指针的动态分配

目前有在开发一个linux的底层驱动,涉及到很多种Modbus设备。程序是通过解析json配置文件,来获知到底是访问的什么设备。刚开始,由于485设备的种类并不是很多,而且主机的每个485口下挂的设备数目,也不是很多,因此采用了静态结构体数组的方式来做设备属性和数值的缓存(Shadow)。但是目前485种类是越来越多,而且规定每个485口下,最多可以挂64个设备,如果全部用静态数组的形式,则够主机...

2020-03-03 23:44:28 4748

原创 cjson创建数组

这里介绍如何使用cjson,创建一个含数组的json字串。例如下面的形式:{ "UnixSocket": [ { "id":0, "value":10.0 } ]}干脆一些,直接上代码:int Jsondata_Create_Json(char *pBuf, int id, i...

2019-12-30 17:06:11 8947 3

原创 QPropertyAnimation- 淡入淡出并且大小转换同时动画

在应用中,有时候会有这样一种效果,就是某一个按键按下去之后,会弹出一个带有多个按键的界面。这个动画效果,经常是淡入淡出和界面转换同时运行。在QT中,也可以实现。这里参考的网络例子是:https://www.jianshu.com/p/0050eae56929还是先上结果好了,点击start按键后,开始动画。这里比较简要,所以只上主函数的代码即可:#include "mainw...

2019-12-22 18:41:51 1724

原创 QPropertyAnimation - Qt widget 淡入淡出效果(二)

在上一面一篇文章中,已经基本实现了淡入淡出的效果。但是不足的地方是,所有的代码都是写在主程序里的。这对于写项目来讲,肯定是不合适的,最好能做成自定义的类,调用起来才会舒服。于是,我们接下来继续改造。改造之前,我们我们先确定一下思路。1. 新建类的.h和.cpp文件,命名为:fadeinwidget.h和fadeinwidget.cpp2. 该子类继承于QStackedWidget(这里为什...

2019-12-18 17:44:45 722

原创 QPropertyAnimation - Qt widget 淡入淡出效果(一)

在嵌入式设备里,当QT界面需要切换的时候,往往需要很多动态效果。例如根据触摸,动态左右切换屏幕,或则是点一个按键,做界面淡入淡出效果等。这里会整合网络上的一些资源,做几种特效。这一篇先给一个淡入淡出的示例。参考资料:http://serge45-blog.logdown.com/posts/208655-qt-widget-fade-effect大神的代码完整实现了淡入淡出,但是作为初学者...

2019-12-18 11:45:43 2209

原创 openssl AES 加解密示例

#include <unistd.h>#include <stdio.h>#include <stdbool.h>#include <string.h>#include <errno.h>#include <signal.h>#include <unistd.h>#include <sys/w...

2019-11-22 18:11:22 421

原创 WS2812C IO口模拟控制

以前,一直很疑惑,那些挂在树上的LED灯条,是如何实现流水的效果的。灯条是如此的窄,不可能放下很多的信号线,除非是串行的连接。受限于知识面,一直不太清楚为什么可以做到,也算是懒,一直没去查这方面的资料。直到有一天,突然发现了某个村产的带锁存器的5050 LED灯珠,才恍然大悟,原来如此。这段时间,由于要做开关面板,并且面板上需要有背光灯,于是就想起了这个神奇的5050灯珠。。于是就将其画在...

2019-11-06 20:57:58 4370 2

原创 RTL8188 Linux驱动移植

折腾了好几天,系统的Wifi总算是跑起来了。总结下来,刚开始应该犯了好多系统性的错误。例如,以为在menuconfig中,将RTL8188对应的选项选中,就可以了,但是后来才知道事实并非如此。主要还是由单片机背景进入Linux开发,有好多不太适应的地方,也有一些思维定势的地方。这些都是需要在后面开发的过程中,需要注意的。好了,言归正传,这里主要是参考了如下的两个链接:http://bbs....

2019-10-24 23:27:16 5284 5

原创 最简单的推送提醒服务-Bark

在某个大楼里,安装了一个实时监控的设备。但是由于这栋大楼目前还处于全面施工的状态,因此这个监控设备,不停的被施工方掐点,断网等等,状况百出,也是令人防不胜防。。于是,一直在想,有没一个很简单的方法,看获知目前这个监控设备的状态。方法倒是有,例如利用各种云平台的推送服务,但是感觉都不像是1,2天搞完的,毕竟俺不是做后台开发的人。。于是用google不停的搜索,终于发现了一个软件,叫做Bark的软件,...

2019-07-30 13:05:27 5393 3

原创 STM32 USART的寄存器操作

不晓得是不是自己用寄存器操作习惯了,总是用不习惯STM32的HAL库,效率实在是有些低。特别是用到多个串口进行高速传输的应用,就一个入口函数,然后一个一个的callback调用,效率上讲,实在是有些差。于是自己尝试了一下,在基于STM32cube的基础上(借用一下Cube生成的初始化函数,还是有必要的),改成了寄存器操作版本。这样,GPIO口的初始化,时钟的初始化之类的操作,就利用了cube。。偷...

2019-07-02 17:06:12 4003 1

原创 STM32 定时器单次延时

这几天开始准备要要利用网络上的资源,移植modbus master的library。CSDN以及Amos的论坛上都有例子。但是我想移植的例子,却是基于STM32的标准库。初略的想想,应该不算难。于是动手开始移植。但是有一个功能,却卡住了。在Modbus里,判定帧结束,是利用时间的。这个时间,和波特率是息息相关的。一般是3.5个byte的时间。这个一般是使用一个专用的定时器来实现的。但是这个定时...

2019-07-01 21:05:10 3188 1

原创 AK9528 - IS07816转UART智能读卡控制器芯片

在这个IOT的时代,数据加密已经四处被提及了。安全性需求也日益增高。但是我们的linux主机的芯片,自身却没有带ISO7816接口。这次由于客户的需求,必须要加加密芯片,因此只能找寻类似于USB转ISO7816, UART/SPI转7816接口等芯片。搜来搜去,竟然搜到一颗AK9528,UART转7816。。因此,就拿来用了。这颗芯片的资料不多,基本参数如下:1. 默认使用38400,8,n,...

2019-06-21 15:56:05 1440 2

转载 Linux Debin开机自启动

原文地址:https://www.cnblogs.com/ssooking/p/6094740.html一.、在/etc/rc.local文件中添加自启动命令执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令运行程序脚本:然后在文件最后一行添加要执行程序的全路径。例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.l...

2019-05-15 10:52:15 299

原创 Linux C语言调用shell命令

在目前的这个项目里,整个软件分别被3三家公司所开发,我负责基于BSP的底层协议开发。调试底层接口的时候,每次reboot后,老是要先kill一遍涉及到的thread,毕竟他们会占有我要调试的资源。于是就搜索在C语言内,如何kill掉这些程序。看来看去,感觉还挺繁琐的。于是搜了搜如何调用shell脚本来杀。于是就有下面这片文章:https://blog.csdn.net/qq_21792169/...

2018-12-10 17:22:52 482

原创 Linux进程间的通讯

如下这两篇文章应该解释的很清晰了。https://blog.csdn.net/ljianhui/article/details/10287879https://blog.csdn.net/guoping16/article/details/6584024自己根据以上的理解,测试的代码如下:MsgTask1接收其他两个线程传过来的message,Msg type分别是1,2.Ms...

2018-09-13 18:18:42 356

转载 Errors: Linux System Errors

转载自:http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.htmlWhen system requests fail, error code are returned. To understand the nature of the error these...

2018-09-13 18:12:19 382

原创 signal 和 alarm函数

针对一次性的动作,最简单的就是使用signal和alarm函数来调用。假如在callback函数未执行的时候,要取消的话,那么可以使用alarm(0)来取消调用该回调函数。我们用如下的代码来测试(看输出的全局变量的值):#include &lt;stdio.h&gt;#include &lt;stdbool.h&gt;#include &lt;string.h&gt;#includ...

2018-09-04 14:18:09 3927 1

原创 线程的创建,退出

由于在应用程序中,会不停的创建线程和删除线程,而这些线程都会使用同一个硬件资源,特此写了如下的一个demo,来测试这样操作线程是否会产生问题。其中,线程创建部分:static pthread_t pthread_Ch0_485_Process;static void* Ch0_485_Process(void* arg);void Ch0process_Create_Thread...

2018-09-03 17:14:42 376

转载 Linux多线程编程时如何查看一个进程中的某个线程是否存活

转载自https://blog.csdn.net/weiyuefei/article/details/54092268。 Sorry,我没找到原创的地址在哪里。。请原作者见谅。pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号...

2018-08-30 15:20:44 410

原创 linux makefile初步接触

记录一下目前自己写的两个makefile文件。1. 整个工程只有一个.c文件,调用arm gcc编译器生成可执行文件。可执行文件叫做hello。如果hello.c调用了其他.c文件的话,则在OBJ那里添加。将hello.o放在最下面。CC=arm-linux-gnueabihf-gcc-4.9.1CFLAGS=-I.OBJ = hello.o%.o: %.c $(DEPS) $...

2018-08-08 19:06:45 337

原创 嵌入式开发环境中的TFTP安装

服务器端的安装,就是指本地虚拟机的安装,过程可以有两种方式:1. 参看http://jingyan.baidu.com/article/6079ad0e80c99b28ff86dbdd.html   一步一步安装。2. 直接运行附件中的.sh文件。https://download.csdn.net/download/efm32/10586958整个安装步骤差不多如下面的图片所示:...

2018-08-06 18:53:43 564

转载 Linux - Sublime安装

摘自:https://blog.csdn.net/u011982340/article/details/45843413https://blog.csdn.net/qq_37595946/article/details/779958861. 通过Package Magageranzh安装Sublime 3。sudo add-apt-repository ppa:webupd8tea...

2018-08-06 18:18:25 370

原创 DES CBC加密实例

以下是我基于STM32+PolarSSL加密库调通的基于DES CBC加密形式的例子。好让自己能用来做比对。1. 使用DES-CBC加密方式,并使用PKCS5Padding方式填充2. 明文为(字符串): &lt;xml&gt;123232&lt;/xml&gt;3.生成的密文(十六进制数据): 305F62576A76B23D6822B53FC537014058360A0D1696610B4.密...

2018-04-11 18:59:48 1665

原创 STM32使用SWO引脚调试

目前有在调试STM32F207+DP83848做的一款带以太网的IP网关。在软件上使用了FreeRTOS的操作系统。由于第一次在工程上使用FreeRTOS,遇到了不少困难,有时候调试起来有些无法入手。因此特地将收集到的资料写在这里:目前使用的IAR for ARM做的调试,首先我会先把SWO功能开起来。具体操作步骤如下:1. 在IAR工程配置中启用SWO功能。General Options

2017-12-06 15:49:30 14432

原创 QT资料搜集页

QT官方资料页面:QT下载页面:http://download.qt.io/archive/qt/5.5/5.5.1/QT网页版下载页面,需要注册: http://www.qt.io/download/ QT网络基本资料页面:QT基本教程:http://blog.csdn.net/louis_815/article/details/54286544QT学习之路:http

2017-11-12 16:30:00 734

原创 QT学习第二部:简单的串口工具

在熟悉了基本操作的基础上,参考网络上的教程,做了一个串口工具。需要做如下的动作:1. 在.pro文件中添加  QT+=serialport2. 在头文件中包含如下的头文件:#include #include #include 3. 在头文件的类函数定义中,增加串口读取的函数  voidRead_Data(); 用于串口接收的回调函数4. 在头文件的私

2017-11-12 16:16:07 953

原创 QT学习第一步 - 初步建立开发环境以及Hello

连微软都正式放弃更新MFC了,虽然不舍,但是也只能学会放弃MFC了。 由于以前欧洲的同事都是使用QT来开发各种各样的应用程序,并且也知道可以做成跨平台的应用。因此不妨也开始学习QT吧1. QT下载地址:http://download.qt.io/archive/qt/5.5/5.5.1/    或则上https://www1.qt.io/download/, 点击下载,会让注册帐号。注

2017-11-08 22:42:56 870

原创 STM32 CDC HOST初步调试

1. 芯片平台: STM32F207VE2. 使用Cube产生USB host CDC的工程3. USB CDC设备使用基于FDTI FT232R的USB Dongle将程序download到PCB上,发现USB并未工作。查看hUsbHostFS变量,其gState的状态为HOST_ABORT_STATE,枚举的状态(EnumState)为ENUM_GET_SERIALNUM_STRI

2017-10-25 17:25:08 6076 4

原创 STM32F4XX IO口时钟复用功能

基于STM32F412,在PC9上输出System Clock 。 同理,也可以在PA8上输出其他的时钟功能。  GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; G

2017-09-23 15:38:34 5484

转载 CC1310 底噪测量以及实际意义

转载自:http://www.cnblogs.com/yinlixiaoji/p/6084269.htmlhttp://www.cnblogs.com/yinlixiaoji/p/6097688.htmlSMARTRF STUDIO是TI提供的射频测试软件,在调射频的时候非常非常非常好用,推荐每一个使用TI射频芯片的工程师都要掌握。1 如何使用?要使用SMA

2017-09-17 20:58:41 4449

原创 3个while循环

近期在写代码的时候,由于给while循环后面忘记加分号了,因此差不多写成了如下的形式:while(表达式) while(表达式) while(1) { 运行一些任务 }然后由于第一个表达式不成立,就直接跳过了下面的两个while循环,造成任务直接退出了。真是一惊。以前一直

2017-08-30 22:42:02 1146

原创 Altium Designer中测量Gerber文件两个点之间的距离

1. 选择Analysis -> Measure -> 选择合适的测量方式,例如点对点测量2. 鼠标选择起始点和结束点3.在CAMtastic窗口中查看两点间的距离。CAMtastic窗口,可以由Altium Designer右下角的主菜单中打开。在界面中可以选择测量的单位,如第二个红框中所示。

2017-05-22 22:02:42 13977

原创 二维码测试

二维码测试

2016-05-08 17:47:23 4118

原创 GPIO口模拟SPI - 驱动W25Qxx

废话少说,直接上代码: DataFlash_reg.h:/*Using SPIO simulatorPB8 -- spi csPA9 -- spi clockPA10 -- spi MOSIPB7 -- spi MISOPA8 -- holdPC4 -- Write protect*/#define SPI_CS_Port gpioPortB #def

2016-01-11 22:26:12 8482 1

原创 Enocean Serial Protocol 3 常用测试命令

为了方便测试Enocean的TCM310模块,于是将常用的几条命令算好了CRC,方便用PC端的串口终端对模块进行测试。 //读取模块的版本号信息 CO_RD_VERSION: 55 00 01 00 05 70 03 09 //读取模块的BaseID信息 CO_RD_IDBASE: 55 00 01 00 05 70 08 38 //设置模块的BaseID信息 CO_WR_IDBAS

2015-09-06 18:06:00 2264

原创 Altium Designer的PCB无法显示Designator

前些日子,导了一份PCB文件到Altium Designer里。普通看看倒也没发现什么问题。看多了才发现觉得乖乖的,怎么有的有显示器件编号,有的不显示器件的编号呢?如下图所示, 查看元器件的属性,所有hide的地方都没有打勾啊,为什么呢。最后发现,应该是导入的时候,导出问题了。怎么把Designator的layer导到了ASSEMBLY_TOP。 于是将其改到TOP OOVERLAY上,

2015-08-26 17:57:04 8713

原创 Enocean模块发射功率修改

Enocean有出多种模块,例如接收端有TCM300,TCM320等。这些模块既可以用来做接收也可以用来做发送。同时也提供了DolphinAPI,以供客户用来自定义功能的二次开发。 在使用DolphinAPI的过程当中,会发现Enocean并没有提供控制发射功率的函数。也就是说发射功率都是固定死的,无法通过DolphinAPI修改。而我们又拿不到芯片的规格书,难道无解吗? 在DolphinAPI

2015-08-21 18:24:46 1842

rtl8188FU_linux_v5.3.0.1_28034.20180525.tar.gz

RTL8188FU Linux驱动源代码。模块厂商提供,可编译。我自己在i.mx6上编译通过。

2019-10-24

安装tftp服务器的sh文件

在linux下直接sudo运行该脚本,即可在linux下安装ftfp的服务器

2018-08-06

QT串口程序

基于QT5写的简要串口程序。基本上实现了串口搜索,串口波特率配置,以及串口的收发等操作。

2017-11-12

Subversion以及TortoiseSVN安装包

Subversion以及TortoiseSVN安装包

2015-03-11

energyAware Commander SWO终端

energyAware工具综合使用 - energyAware Commander SWO终端这篇blog所配对的例程

2013-10-18

GUISimulation

emWin模拟器标准效果,给大家看一下。屏幕是320×240像素的。

2013-08-17

Cortex-M3 内核参考资料

Cortex M3内核参考资料,里面包括《ARMv7-M应用程序级架构参考手册》,《Cortex M3权威指南》,《Cortex-M3 技术参考手册》等pdf

2013-06-30

Unicode 查询软件

Unicode 查询软件,可用来查询相应字符的unicode编码。

2013-04-20

嵌入式系统低功耗技术研究

嵌入式系统低功耗技术研究,讲一些低功耗系统的基本思路,个人觉得还是不错的一篇文章。

2013-03-20

泛音晶振LC参数选择

当使用泛音晶振时,需要选择一个合适的LC参数,来选频。

2013-02-21

guidemo_GUIBuilder

于emWin -- 可视化界面设计GUI Builder 这篇blog对应的例程。解压出来的文件夹,请放到energymicro\kits\EFM32GG_DK3750\examples目录下面。

2013-01-19

ADC Scan Example

EFM32的多通道ADC扫描+DMA+Timer+PRS的例程

2012-11-10

泛音晶振电路设计

泛音晶振电路设计。简要介绍了什么是泛音晶振,以及其基本的电路设计原理和要素

2012-06-30

IAR 工程ADC例程

IAR 工程ADC例程, 基于TG STK

2012-05-19

EFM32 GB2312 汉字显示

基于EFM32 GG DK上的汉字显示。 汉字字库使用的是GB2312编码。请在使用时,将该工程放到EFM32 GG DK的example目录下。

2012-05-13

GB2312 字符点阵库

GB2312 点阵库 16*16, 已经做成了一个.c文档,方便嵌入式工程应用。

2012-05-13

EFM32 TG LCD Bitband

EFM32 TG STK3300 LCD Bitband操作。可以在STK3300上测试

2012-05-06

ucon on EFM32

ucos在EFM32上的移植工程。只是将其独立的做成了一个工程文档。基于G STK。

2012-01-24

磁阻传感器MR的应用

磁阻传感器MR的应用,来自honeywell。

2011-11-30

EFM32 Product Presentation

EFM32 Product Presentation,里面介绍了EFM32基本结构,以及它的特点

2011-11-19

Energy Micro Company Introduction

Energy Micro 公司的基本介绍。Energymicro是来自挪威的一家MCU厂商,目前基本的产品有基于Cortex-M3的EFM32,以及将来的EFR系列射频芯片

2011-11-19

“节能之星”EFM32 应用方案(一)— 无磁热表应用案例.pdf

“节能之星”EFM32 应用方案(一)— 无磁热表应用案例

2011-11-19

空空如也

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

TA关注的人

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