main_h_的博客

分享成长

嵌入式常用模块——软定时器

文章目录啰嗦 啰嗦 硬件的资源总是紧张的,用这些有限的资源去做更多的事情,这大概就是每个硬件工程师一直在计较的事情了吧。同样的

2018-10-12 09:22:18

阅读数 147

评论数 0

嵌入式常用模块——环形队列(2)

文章目录前言介绍实现 前言 指针是一个好东西 也是一个相对来说麻烦和危险的家伙。在使用环形队列时候,如果每次接收数据的长度变化不大的时候。可以用二维数组方式来实现环形队列,从而减少一些指针操作。 介绍 使用这个队列,你需要定义你的数据块结构。然后初始化队列时候把其强制转换为uint8_t。 然后根...

2018-09-19 16:59:45

阅读数 83

评论数 0

嵌入式常用模块之——环形队列(1)

简单聊聊 对我实现方式的介绍 代码部分 完整代码 简单聊聊 在嵌入式开发时候,有很对模块是经常会使用到的。从这篇文字开始,将我觉得一些常用的模块逐一做一个整理。梳理一下自己的思路,也顺便方便大家,如果可以给初学者一点帮助和启发,那也是再好不过了。 环形队列在异步接收数据上感...

2018-09-06 16:45:24

阅读数 91

评论数 0

python生成字符型验证码

前言 准备工作 Pillow简单操作 生成验证码 前言 最近想玩字符型验证码的识别,想了下,爬取别人网站的验证码貌似不太好,索性自己生成自己识别好了,还省的标注什么的。 准备工作 我们需要python的一个用到图像处理库,PIL。在2.7以前,这个库是PIL。后面的就...

2018-07-28 17:34:59

阅读数 103

评论数 0

anaconda里面qt designer启动失败

this application failed to start because it could not find or load the Qt platform plugin "windows" in "".

2018-07-24 21:31:52

阅读数 743

评论数 0

解决jupyter运行pyqt代码内核重启

在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错:The kernel appears to have died. It will restart automatically. from PyQt5.QtWidgets import * ...

2018-07-23 09:14:40

阅读数 451

评论数 0

笔记:用python实现简单的字符验证码识别(1)

需要用到如下几个model: - PIL - pytesseract 使用pytesseract时候还需要在电脑上安装Tesseract-OCR软件,默认安装只支撑字母数字字符识别,如果需要增加对中文字符或者其他字符的支持,可以在安装时候选择添加相对应的库。 安装好后,需要在环境变量添...

2018-07-22 17:14:09

阅读数 123

评论数 0

keil 报错browse infomation of one or more

话不多说,先上报错的图片。报错信息是browse infomation of one or more files is not available: ……Doing a project rebuild might fix this. 大概意思就是说,当前工程中的一个或多个文件不可用,执行一些工...

2018-06-30 10:05:06

阅读数 1174

评论数 0

笔记:c程序的另类函数调用

偶然间又看到了一个c程序的骚操作。写出来记录一下。先把代码和运行结果贴出来。 #include <stdio.h> #include <stdlib.h> void fun() { printf(...

2018-06-29 15:07:40

阅读数 69

评论数 0

stm32实现iap远程固件更新

前提 固件生成 固件保存 固件更新 完成 前提 想来做iap升级了,应该不是什么新手。 下面的程序需要用到一些简单的功能 串口收发数据 开关总中断 虽然本文标题是实现远程固件更新,但是具体远程方案本文不做详细说明,重点在于介绍mcu接收到新的固件后怎么保存更新,以...

2018-06-07 17:04:43

阅读数 6227

评论数 6

基于stm32 的测速实现(demo)

目录 目录 代码片段 源码地址 IO对应关系呢 就看图吧 这样我也不用说半天 你们看着也好理解。至于通信线的排阻为什么不接不要多聊,这不是我画图的初衷。 代码片段 int main() { delay_init(72); //初始化时钟 /* System...

2018-05-23 14:17:19

阅读数 2733

评论数 2

C语言88年乱码大赛经典作品完全解析

都说西藏是一种病,对于一个c程序员来说,我觉得乱码大赛的经典之作也是一种病,不把他完全理解通透总是不自在。至少对于我来说,是这样的。前前后后这是第三次看这份代码,第一次时候刚在学校学完C语言,只是下载到运行了一把,想看懂。结果看了一会。一脸懵逼的放弃。第二次拿起他,分析了一部分,只是简单的把每个三...

2017-12-16 22:07:59

阅读数 2035

评论数 0

两种快速排序的实现(C语言)

两种搜索方式不一样,第 0种单向搜索,第1 种双向搜。 代码如下:#include <stdio.h> #include <stdlib.h> #include <time.h> #define MAXVAL 8 #define STATIC 0 void d...

2017-11-22 19:59:13

阅读数 507

评论数 0

BACnet(二)MS/TP AutoMAC解析

楼宇自动控制网络数据通信协议BACnet(A Data Communication Protocol for Building Automation and Control Network)由美国供热、制冷与空调工程师协会组织的标准项目委员会135P于1995年6月正式通过制定。标准编号为ANSI...

2017-11-22 19:31:03

阅读数 603

评论数 0

anaconda环境变量+修改jupyter默认路径

环境:Windows. ,所以决定手动添加anaconda环境变量,修改jupyter默认工作目录,删除anaconda源地址方法

2017-10-30 21:30:03

阅读数 8175

评论数 0

stm32平台BACnet移植(一)

前面是吐槽,不想看直接从分割线开始看干货 首先我想表达,移植bacnet确实是一件扎心的事情。笔者费了好一番功夫,总算也是跑通了官方给的demo,是的。正常来说,官方demo是可以立马使用的,但是可能bacnet比较特殊吧,我现在(2017.10.18)最新版协议栈是0.8.5。 笔者的一向习...

2017-10-18 20:09:45

阅读数 1095

评论数 14

串口接收不定长数据的几种方式

在阅读本文前,你需要先做到串口成功接收一个数据(相信这一点是很简单的) 这几天简单总结了一下用串口怎么接收一帧数据的办法,个人使用的有三种,下面逐一介绍: 第一种:使用中断的方式; 这种在数据接收不频繁状态下使用。简单易实现。既然是使用中断,所以自然需要硬件的支持,比如stm32就可以这...

2017-09-11 19:09:23

阅读数 7081

评论数 3

win7 下cygwin heap报错

近来用cygwin编译时候遇到了如下错误,找了半天没有找到一个图文并茂的解决教程,所以决定今天记录一下。报错信息如下: couldn’t allocate cygwin heap, Win32 error 0, base 0xBC0000, top 0xBCB000, reserve_size...

2017-08-14 13:14:31

阅读数 258

评论数 0

TensorFlow saver之指定变量的存取

今天和大家分享一下用TensorFlow的saver存取训练好的模型那点事。 1. 用saver存取变量; 2. 用saver存取指定变量。 用saver存取变量。 话不多说,先上代码# coding=utf-8 import os ...

2017-07-03 14:07:43

阅读数 2170

评论数 0

Ubuntu16.04安装TensorFlow 1.2.0

环境:Ubuntu16.04(64位) Python2.7 一定要是64位系统,TensorFlow不支持32位! 参考官方的文档,我选择基于virtualenv安装,下面是步骤: 1.下载TensorFlow的whl文件,根据自己的实...

2017-05-29 14:07:40

阅读数 3137

评论数 2

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