自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

廖昌海的个人博客

https://www.haydnliao.top/

原创 STM32 IAP 简介与实例

1 简介-STM32 IAPIAP(In Application Programming,应用内编程),是指程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。下面针对STM32 IAP功能。在设计固件程序时,需要建立两个MDK工程。 工程 IAP APP 代码功能 通...

2018-06-01 20:26:51 2959 1

原创 Raspberry Pi 3 B+ NAS以及自动备份和邮件提醒
原力计划

一、准备树莓派1.准备系统2.配置网络3.更新源4.修改密码5.远程连接二、初始化存储设备1.分区2.格式化3.3.自动挂载三、NFS服务器四、自动增量备份自动备份删除历史备份恢复数据五、邮件提醒...

2020-06-27 23:56:25 126

原创 Nordic nRF52840 使用DK测试通信距离

Nordic DevZone:Testing Long Range (Coded PHY) with Nordic solution (It Simply Works)一、准备工作nRF52840 DK PCA10056 * 2Hex文件:不连接/连接测试_信号强度.hexmain.c里CONNECT_TO_ADV_REPORT为0时测试不连接时的广播和扫描的距离,为1时测试连接的距离...

2020-03-19 16:35:58 412 2

原创 Dlib Windows下安装Dlib库

Dlib

2020-03-17 00:19:23 225

转载 Dlib Linux下编译失败

转载地址:http://accu.cc/content/daze/dlib/install/记录二: 内存过小导致编译失败c++: internal compiler error: Killed (program cc1plus)Please submit a full bug report,with preprocessed source if appropriate.See htt...

2020-03-15 10:45:53 133

原创 Nordic nRF52840 SDK16 RTT Log

一、Firmware1. sdk_config.h#define NRF_LOG_BACKEND_RTT_ENABLED 1#define NRF_LOG_ENABLED 12. header files#include "nrf_log.h"#include "nrf_log_ctrl.h"#include "nrf_log_default_backends.h"3. ini...

2020-03-08 23:38:20 178

原创 Keil Nordic SDK16编译时的问题

MDK5 Software Packs下载地址:Nordic网站:http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/(只有NordicSemiconductor.nRF_DeviceFamilyPack.x.x.x.pack)Keil网站:https://www.keil.com/dd2/Pack/...

2020-02-25 23:45:44 825 1

原创 在HomeAssistant中添加SwitchBot

安装HASS,参考//Installing Hass.io。增加对SwitchBot的支持,参考//SwitchBot。在configuration.yaml文件中,添加如下语句:switch: - platform: switchbot mac: 'xx:xx:xx:xx:xx:xx' name: xx在RaspberryPi里文件路径为/usr/share/hass...

2020-02-09 16:55:17 788

原创 ESP32 SNTP配置

SNTP,Simple Network Time Protocol(简单网络时间协议),用来同步时钟。百度百科:SNTPSNTP协议采用客户端/服务器的工作方式,可以采用单播(点对点)或者广播(一点对多点)模式操作。SNTP服务器通过接收GPS信号或自带的原子钟作为系统的时间基准。单播模式下,SNTP客户端能够通过定期访问SNTP服务器获得准确的时间信息,用于调整客户端自身所在系统的时间...

2020-01-21 20:32:33 402

原创 LIS3DHTR 写驱动时遇到的两个问题

LIS3DH是ST的一款三轴加速度计;TR表示包装方式,编带包装后绕在轮盘上,便于自动贴片机使用。I2C通信正常却读不到正确的加速度值判断I2通信正常是通过从WHO_AM_I(0x0F)能读出0x33。读取加速度值是发送地址OUT_X_L(0x28)后连读6个字节,却没有读正确(意料之外的数据)。确认了三轴也有使能。结果是I2C通信协议和LSM6DS3TR有点区别。连读的时候需要将...

2020-01-21 13:41:23 523

原创 VSCode Clang代码自动格式化

针对Windows环境下Visual Studio Code的C/C++代码自动格式化。C/C++扩展在VSCode里安装C/C++扩展,扩展程序将自动安装Clang-Format。在C/Cpp文件里可以通过Shift+Alt+F进行格式化;或者右键 - Format Document。预定义样式Ctrl+Shift+P输入user settings,进入Settings界面;或者菜单...

2019-09-10 19:12:27 3516 1

原创 ESP8266 编译固件下载到NodeMCU开发板需要注意的问题

机智云上生成的固件下载进NodeMCU开发板一直不能正确运行,后来发现是编译选项的问题。编译选项ESP8266的SDK里的编译脚本ESP8266_RTOS_SDK\examples\project_template\gen_misc.sh中,提供了如下编译选项。STEP 1: choose boot version(0=boot_v1.1, 1=boot_v1.2+, 2=none)STE...

2019-06-02 21:55:45 601

原创 Nordic NRF51 POF 电压失效比较器

Power-fail comparatorThe power-fail comparator (POF) can provide the CPU with an early warning of impending power failure. It will not reset the system, but give the CPU time to prepare for an orderl...

2019-05-22 09:06:00 157

原创 PADS 关于封装丝印底层不出GERBER问题

问题描述封装在丝印底层有2D线和文本,但在出GERBER时不显示。解决方法CAM设置时在Silkscreen Bottom层设置里,元器件外框中勾选顶面贴装。这样,封装里2D线和文本在所有层的,或在CAM设置里已选定的层里的,都会显示出来。像贴片电阻电容这些不需要底面丝印的,修改其封装,将2D线和文本的层修改为Silkscreen Top,或者其他指定层。打开ECO模式,更...

2019-03-02 11:36:23 1691

原创 PADS 设置CAM以输出GERBER文件

这里写自定义目录标题自动生成CAM文档顶/底层阻焊层顶/底层助焊层顶/底层丝印顶/底层钻孔层钻孔图生成GERBER文件自动生成CAM文档默认情况下,PADS Layout里CAM下的文档列表是空的。camcam2输入无模命令@camdocs,自动生成CAM文档。camdocscamdocs2制造层名称Top/Bottom顶/底层Solder Mask T...

2019-02-25 23:40:36 3126

原创 2019年个人在嵌入式领域上的发展思路

摘自:嵌入式软件工程师前期职业生涯规划嵌入式软件工程师学习路线1、打好嵌入式软件编程的基础这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用Linux的常用命令C语言编程基础常用的数据结构特别是C语言中对指针的理解和应用。这一阶段的主要目的是学习编程语言、开发环境、和培养自己的编程思维,为进一步学习嵌入式开发打下良好的基础。2、学习ARM体系结构编程这...

2019-01-06 20:56:03 2651

原创 Python Windows更新pip报错

在cmd命令提示符里使用python -m pip install --upgrade pip更新pip时 报错。 提示大概是缺少权限。 使用管理员权限的命令提示符更新就正常。 Win7可以在开始菜单-命令提示符右键以管理员身份运行,Win10可以在开始菜单右键,或者WIN+X,选择命令提示符(管理员)(A),再输入更新命令。 ...

2018-09-02 12:20:39 692

原创 UART判断接收的数据为一帧的方法

空闲中断。在总线上接收到数据后,一个字节的时间内没有再接收到数据,空闲标志位置位,便认为一帧接收完毕。如STM32的空闲中断。延时等待。设定一个超时时间,在总线上接收到数据后,设定时间内没有再接收到数据,认为一帧接收完毕。如看门狗。通信协议。最常见的通信协议就是判断字符串末尾的回车符\r、换行符\n等,或者特定的帧尾。也可加入帧头、帧、校验等构成较为复杂点的通信协议。...

2018-07-17 20:44:54 2890

原创 Raspberry Pi 树莓派查看CPU温度

方法一pi@RaspberryPi:~ $ /opt/vc/bin/vcgencmd measure_temptemp=51.5'C方法二pi@RaspberryPi:~ $ cat /sys/class/thermal/thermal_zone0/temp50464 除以1000,单位是℃。

2018-06-23 23:44:21 17013

原创 Raspberry Pi 树莓派更改时区

时区不对,时间慢8个小时。pi@RaspberryPi:~ $ dateThu 14 Jun 16:00:00 UTC 2018在~/.profile文件最后加上export TZ='Asia/Shanghai',或者export TZ=CST-8,保存,退出,然后logout再login。pi@RaspberryPi:~ $ dateFri 15 Jun 00:03:18 C...

2018-06-15 00:16:35 436

原创 Raspberry Pi 3 B+ 开箱基本配置(Windows环境下)

1. 下载系统下载 Raspbian,建议下载种子,然后使用迅雷等下载工具下载。 或者在官网上下载名称为RASPBIAN STRETCH WITH DESKTOP的系统。 2. 写入SD卡下载 Win32 Disk Imager,直接下载即可,安装。 将SD卡通过读卡器连接到电脑,从下载的文件(.zip)解压出系统(.img),选择后写入,等待5分钟左右。 写入完成后,在b...

2018-06-09 23:09:35 4095

原创 使用ST-Link Utility去除STM32芯片读写保护

问题:使用ISP/J-Link/ST-Link等无法下载代码,提示芯片写保护;读芯片信息时提示读保护。 原因:一般是修改了选项字节。 解决方法:这里使用ST-Link Utility来修改选项字节。使用ST-Link连接到STM32芯片,点击Connect。 存在读保护。 修改选项字节。 将读保护等级修改未Level 0。 打钩的扇区会添加写保护,点击Unselect all不选择写保护。

2017-11-16 19:15:11 13711 5

原创 使用web.py接收post数据时中文变成&#xxxxx;的问题

使用web.py接收post数据时中文变成&#xxxxx;,英文不变,如下所示。# post处理函数部分代码def POST(self): print '<Handle>post' webData = web.input() print webData if webData: data = webData.get('data') pr

2017-11-07 16:46:50 2078

原创 文本数据压缩传送的几个想法

减少传输的数据字段;明确各数据字段的精度,使用位域;对一些浮点数分等级,类似RxQual分成8个等级,或者在协议里定义成倍乘为整型;压缩帧头帧尾;根据带宽选择合适的压缩算法,参考 是否需要对网络传输数据进行压缩?如何选择压缩算法?

2017-10-30 09:40:47 723

原创 CentOS 7.3 x64 安装 Nginx

GCC & GCC-C++[root@jdu4e00u53f7 ~]# yum install gcc[root@jdu4e00u53f7 ~]# yum install gcc-c++若未安装GCC,后续安装Nginx时会报如下错误:./configure: error: C compiler cc is not found若未安装GCC-C++,后续安装PCRE库时会报如下错误:conf

2017-09-01 00:01:02 1441

原创 STorM32 BGC 相关

下载storm32-bgc-v130电路图(http://download.csdn.net/detail/hxiaohai/9901379) drv8313器件手册(http://download.csdn.net/detail/hxiaohai/9901400) storm32三轴手持增稳云台项目实现代码(http://download.csdn.net/detail/hxiaoha

2017-07-17 17:25:20 6890 38

原创 KEIL Debug:error 65

错误:*** error 65: access violation at 0x40023800 : no 'read' permission*** error 65: access violation at 0x40023800 : no 'write' permission*** error 65: access violation at 0x40023808 : no 'write' per

2017-02-13 16:47:34 4444

原创 KEIL LogicAnalyzer需要注意的地方

Unknown Signal 在软件仿真下,逻辑分析仪添加信号时出现 未知信号 的警告,如下是解决方法。 即根据自己的单板修改 Options for Target 里 Debug 选项卡左下角的 Dialog DLL 和 Parameter,我的是 STM32F103VET6.DisplayRange在逻辑分析仪的 Setup 里可以配置信号的显示范围,默认Max为0xFFFF,Min为0

2017-02-12 12:02:40 6532 2

转载 stm32f4xx标准外设固件库(By King先生)

原文网址:http://www.cnblogs.com/King-Gentleman/p/4369381.htmlSTM32F4的相关资料:http://www.stmcu.org/document/list/index/category-523一、标准固件库简介本文下载的是STM32F4xx_DSP_StdPeriph_Lib_V1.5.0,其文件夹如下图所示:

2017-02-09 16:58:21 5156

原创 Keil Error:C4065E

错误:Error: C4065E: type of input file 'CameraControl' unknown原因: Include Paths 不能含有空格。

2017-02-09 10:11:03 4382

原创 记录常忘记的位操作

1.判读两数是否同号int a, b;...a^b > 0 异或结果>0(为正数)说明符号位异或后为0,即两数同号。a^b < 0 异或结果<0(为负数)说明符号位异或后为1,即两数异号。0 == a^b 异或结果==0说明两数相等

2017-02-06 17:29:23 187

原创 RS-232相关

RS-232是由美国电子工业协会(Electronic Industries Association,EIA)制定的标准串行通信接口,原始编号全称是EIA-RS-232-C,RS是英文“推荐标准(Recommended Standard)”的缩写,232为标识号,C代表最新的一次修改(1969)。通信协议硬件RS-232是UART(Universal Asynchronous Receiver/

2017-01-16 13:44:14 504

原创 记录常忘记的VIM指令

3.显示不可打印字符:set display=uhex使用十六进制来显示。2. 多行编辑Ⅰ. 将光标移至想要同时编辑的地方。 Ⅱ. Ctrl+v进入-- VISUAL BLOCK --模式。 Ⅲ. j, k选中多行,h, l选中多列。 Ⅳ. 增加:Shift+I进入-- INSERT --模式,插入文字后按Esc。 Ⅴ. 删除:x, d删除字符;s删除字符后进入-- I

2017-01-01 15:36:23 415

原创 STM32F4启动文件分析

;* File Name : startup_stm32f429_439xx.s;* Author : MCD Application Team;* @version : V1.5.0;* @date : 06-March-2015;* Description : STM32F429xx/439xx

2016-12-22 12:25:37 1491

原创 记录常忘记的Linux命令

重启Fedora SSH服务。[root@localhost uart_test]# service sshd restartRedirecting to /bin/systemctl restart sshd.service[root@localhost uart_test]#

2016-12-16 17:16:06 628

翻译 Futaba S-BUS controlled by mbed(使用mbed控制Futaba S-BUS)

IntroductionThe Futaba S-BUS protocol is a serial protocol to control servos. Up to 16 proportional and two digital channels are available. The protocol is derived from the very known RS232 protocol us

2016-12-08 15:57:38 3958

原创 基于uCOS-II的RTC时钟

一个练手的小项目,想到的能用的传感器就加上去。 用的是野火STM32-MINI-V3助学板(STM32F103VET6)。 寄存器版的驱动。 代码没有特别的优化整理。Keil工程:GitHub实现功能: 1. 通过OLED显示RTC时钟模块时间信息。 2. 通过USART1可以设置时间,格式为“2016 06 04 18 53 55”。 3. 通过USART1

2016-06-24 15:00:03 1996 2

原创 关于中断嵌套中的SysTick中断

中断优先级组STM32用4个比特位来指定中断源的优先级,并可分为5个优先级组(Cortex-M3中定义了8个比特位用于设置中断源的优先级,并且允许具有较少中断源时使用较少的寄存器位指定中断源的优先级)。//stm3210x.h#define __NVIC_PRIO_BITS 4 /*!< STM32 uses 4 Bits for the Priority Levels

2016-05-12 11:06:45 2422

原创 STM32_USART

1. 时钟使能#2. 引脚配置 #3. 串口配置 4. 串口中断配置(采用轮询方法可忽略这一步) 5. 串口使能 6. 发送与接收函数

2016-05-02 14:56:19 1034

原创 STM32_SysTick

初始化滴答定时器延时程序

2016-04-26 14:06:49 1388 1

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