关闭

PCF8563 时钟芯片驱动代码

//C文件 /************************************************************************************************************* * 文件名: PCF8563.c * 功能: STM32 PCF8563 高精度 RTC 芯片驱动 * 作者: cp1300@139.com *...
阅读(137) 评论(0)

STM32 软件IIC接口,支持虚拟多个IIC接口

STM32 软件IIC接口,支持虚拟多个IIC接口,需要自己对底层进行移植,比如IO口时钟使能,初始化,写1,写0,读取进行移植,移植到自己的硬件平台。 //SoftwareIIC.c /****************************************************************************************************...
阅读(258) 评论(0)

使用虚拟显存方式操作12864液晶

通常操作12864液晶时,画点函数没有TFT那么方便,我一直都是使用内存虚拟一个显存方式,画点函数将使用内存的一个bit,然后更新到实际屏幕上。12864液晶将需要1KB的内存,我使用的256128需要4KB的内存作为显存。 这样做的好处是,画点函数非常灵活,可以随意在屏幕的任意位置画点,并且不受LCD厂家限制,对于UI的移植会非常方便。 //C文件 /***************...
阅读(523) 评论(0)

STM32F103系列RTC晶振问题解决记录

我从2014年开始使用STM32内部RTC用于产品,之前出现过很多问题,也换过很多晶振,比如按照ST推荐的6pF晶振,也出现很多问题,贴片的很贵的那种也用过几种,都不行,查询了一些晶振启振的资料,最后还是使用2mm的那种最便宜的晶振,使用过多个批次,每次200套左右,已经1000多套了,只有几套出现问题,并且更换晶振后都能够修复,卖出去的产品里面也只有一套出现问题了(我程序里面如果检测到RTC外部...
阅读(694) 评论(0)

一种从机通信查询的方式,适用于嵌入式以及上位机的从机通信查询方式

查询通信包是否结束,有很多的方式,看过很多,都不够简洁明了,我分享一个我用了几年的查询方式(大家如果有什么好的方式可以与我分享),可以给新手做通信的一些启发,便于移植,同时简单明了:对于使用了操作系统,直接在线程中查询,裸机就直接使用定时器进行查询。 比如使用了ucos ii时,我一般会建立一个线程用来通信查询(串口使用DMA,完全无需中断干预,高效) while(1) { cnt =...
阅读(176) 评论(0)

Xmodem 协议封装,用于字库编码下载,软件升级

使用Xmodem有一段时间了,使用起来移植性能不够,通过这次彻底抛离了底层通信部分,可以用在任何通信接口上面了,跟底层的通信已经无关了,使用了大量的回调,回调主要完成通信的收发,以及数据存储等功能,我目前主要使用在STM32 IAP升级(写入到内部flash),app升级(写入到外部flash W25Q128),字库以及各种编码下载(写入到外部flash W25Q128)。 //数据包格式比较简...
阅读(234) 评论(0)

tChart X轴时间显示以及Y轴自动范围

使用tChart有一段时间了,一直想用X轴显示时间,查了很多资料才实现,下面是具体步骤。 //初始化设置 //设置X轴为时间坐标 this->tChart1->Dock = DockStyle::Fill; this->tChart1->Aspect->View3D = false; //取消3D this->tChart1->Axes->Left->A...
阅读(752) 评论(1)

VC++获取串口设备信息,CPU ID,硬盘ID,网卡MAC等机器硬件信息,用于加密

VC++获取串口设备信息,CPU ID,硬盘ID,网卡MAC等机器硬件信息,用于加密 可以获取串口设备的详细信息,CPU ID,网卡MAC地址,硬盘的ID信息,以及系统安装时间,可以用来做计算机的唯一标识符。 首先要添加 System.Management 的引用 //详细的获取硬件信息的代码 //获取串口设备信息 public: int GetComHardwareInfo(arr...
阅读(1123) 评论(0)

VC++自定义加载DLL,从任意位置加载依赖的DLL

一直使用第三方控件,编译后依赖的控件都在运行目录,或者system32目录,看的很别扭,寻找过很多方法重定义加载,发现太复杂,最后无意间使用反射时发现,同一个DLL放在不同的地方只会被加载一次,因为每个dll都有一个唯一的KEY,利用这个方法,人为的加载这些DLL,可以从任意位置加载,可以解决程序运行目录下一堆DLL文件的问题。 //初始化加载一些用到的DLL文件 try {...
阅读(781) 评论(0)

VC++ 出现Debug Assertion Failed!

最近编写了一个升级设备的控件,可以集成到不同的配置程序中,但是每次关闭工程或者关闭编辑页面的时候就会出现这个错误,但是编译和运行时没有任何问题,仅仅在关闭编辑窗体页面的时候会出现。 添加的控件 关闭编辑就会出现这个错误 控件代码编辑界面 通过多次的调试发现,只要把控件代码的析构函数删除掉就会解决这个问题 protected: /// ...
阅读(875) 评论(0)

[第三步]homebridge添加yeelight插件支持彩色灯控制以及亮度调节

由于对js一点都不懂,折腾了2个晚上将homebridge-yeelight插件安装好了,并且把通信机制以及协议弄清楚了。 yee.js var net = require("net"); var dgram = require('dgram'); var PORT = 1982; var MCAST_ADDR = '239.255.255.250'; var discMsg = n...
阅读(4417) 评论(3)

VC++实现的ModBus-RTU主机接口函数(采用回调方式)

计算机上面使用Modbus读取传感器或相关设备还是比较常用的,之前写的Modbus-RTU协议将串口封装到了协议栈内,使用的时候遇到短板了,比如我最新需要使用TCP来读取Modbus设备,就不好用了,通过回调函数可以很简单的解决这个问题。 //modbus-rtu.c /********************************************************...
阅读(2473) 评论(0)

在托管VC++中使用函数指针进行回调(实现回调函数功能)

最近经常写一些通信协议,因为底层收发不一样,使用起来不方便,如果能直接像C中使用回调函数就非常方便了,比如用串口发送,则初始化时传入串口发送的回调函数,用TCP的时候就使用TCP的回调函数,但是因为涉及到托管于非托管代码的指针,使用起来还是有点麻烦,简单来说就是讲托管函数使用委托,然后将委托的指针找到,转换为C++指针,然后就可以访问了。 添加命名空间 using namespace Syst...
阅读(865) 评论(0)

[第二步]在NanoPi NEO UbuntuCore下安装homebridge(相关错误解决,希望能帮到同样遇到这些问题的朋友)

安装nodejs 7.0版本地址,注意选择版本https://nodejs.org/dist/v7.0.0/ node-v7.0.0-linux-armv7l.tar.gz 安装会非常慢,国外的网站 下载完成后会在/usr/local/中,我将解压后的文件命名为了node 解压:tar -zxf node-v7.0.0-linux-armv7l.tar.gz 添加环境变量,路径为:...
阅读(3667) 评论(0)

[第一步]homekit智能家居,homebridge与homebridge-aqara通信协议

homekit智能家居,homebridge通信协议,homebridge-aqara通信协议...
阅读(6567) 评论(5)

关于MySql登录出现错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES)

最近服务器上面mysql登录一直出现问题,错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 在cmd模式下登录一直正常,修改密码也试过了,修改成功后,但是并没有效果,最终问题跟网上所有遇到的问题都不一样,我的是因为开启了2个mysql服务导致的,一个服务为mysql57 另一个为mysqla,我...
阅读(3845) 评论(2)

全套CRC校验

转载自:http://www.amobbs.com/thread-5639122-1-1.html?_dsign=e98ea738...
阅读(2763) 评论(3)

SQLServer数据库:获取列标题(字段名)

写数据库之前最好先查看数据库字段名是否存在,否则很容易出现写数据库失败。 SqlConnection ^SqlServer_con; //SqlServer Form1(void) { InitializeComponent(); // //TODO: 在此处添加构造函数代码 // this->SqlServer_con = gcne...
阅读(1035) 评论(0)

ADS1247寄存器中文翻译

ADS1247与ADS1248的寄存器列表   ADDRESS REGISTER BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 00h MUX0 BCS1 BCS0 MUX_SP2 ...
阅读(1491) 评论(0)

STM32不常见问题记录

1.无法烧写程序,如果将速度调节到非常低10K,则可以烧写。 请检查电源,比如开关电源芯片电感焊接短路导致电源出现脉冲,使用万用表无法检测,但是用示波器则可以看清。...
阅读(399) 评论(0)
108条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:541975次
    • 积分:6200
    • 等级:
    • 排名:第4427名
    • 原创:90篇
    • 转载:17篇
    • 译文:1篇
    • 评论:607条
    最新评论