- 博客(17)
- 收藏
- 关注
原创 vscode+cortex 调试jflash不支持的芯片
习惯了vscode + cmake+ cortex-debug进行项目开发·······小白可以不用看了,不详细现在使用一块国产芯片,不在jflash的支持列表,但是keil可以下载。(cortex-debug 怎么使用自行学习吧)keil支持cmd调用,所以,在cortex-debug调试前调用keil下载程序即可!建立一个此芯片的剋了工程直接上task吧。{ // See https://go.microsoft.com/fwlink/?LinkId=733558
2021-12-16 15:46:43 964
原创 Win10 VS Code + CMake STM32开发环境
Win10 VS Code + CMake STM32开发环境软件软件安装与环境变量的配置不多讲,这步都搞不定还是老老实实用MDK把VS Codecmake 插件、c/c++ 插件mingwgcc-arm-none-eabi 或者 armclangwin 下CMake的坑工具包的选择一开始在Linux下,选择gcc,编译都OK。到win10下,选择mingw,死活通不过,把程序当成windows的程序了。搜索良久,发现选择未指定,会自动配置,编译就OK了。CMAKE_SYST
2021-03-29 16:25:33 4997 4
原创 STM32使用FreeRtos + C++
编译环境 MDK5.25 gcc-arm7.2.C文件不可包含CPP的头文件C调用C++函数在CPP文件内编写C函数,头文件声明。头文件不可出现C++关键字在main中调用此函数作为程序入口即可void Init(void){ drivers = new Drivers(); drivers->Init(); business = new Business(drivers);...
2018-06-20 17:30:30 5345 3
原创 QML 学习笔记
QML调用C++c++类要继承QOBJECT方法一qmlRegisterType<mySerialPort>("io.qt.example.myserialport", 1, 0, "mySerialPort");注册到QML环境中 QML中就可以当作普通组件使用了。 尝试的时候,怎么都不成功,最后找到原因,QML文件与C++文件要在一个目录下。不在一个目录下总报错。方法二qmlRegister
2017-07-18 16:40:56 375
原创 软件设计原则
摘自《大话设计模式》单一职责一个类应该仅有一个引起它变化的原因。 如果你能够想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责。开发封闭软件实体(类,模块,函数等等)应该是可以扩展的,但是不可修改的。依赖倒转A高层模块不应该依赖底层模块,两个都应该依赖抽象。 B抽象不应该依赖细节,细节应该依赖抽象。里氏代换子类型必须能够替换掉他们的父类型
2017-07-07 10:33:49 244
原创 C 轻量级 信号与槽
C 轻量级 信号与槽QT的信号与槽一下是用C实现的简易的信号与槽。指针用的比较多。 废话不多说,上代码#ifndef _SIMPLE_SIGNAL_SOLTS_H_#define _SIMPLE_SIGNAL_SOLTS_H_#include "string.h"typedef void (*SIMPLE_SIGNAL)(void *signal, void *pArg);typedef
2017-06-16 11:49:47 1619 1
原创 续流二极管
续流二极管电感可以经过它给负载提供持续的电流,以免负载电流突变,起到平滑电流的作用!在开关电源中,就能见到一个由二极管和电阻串连起来构成的的续流电路。做续流二极管时,二极管反向接入,及阴极接接供电正极。要求管子开关速度快。这叫续流二极管,就是这样反接的! 首先,你要明白这种buck型DC/DC电路的拓扑结构: LM2756相当于高速断开和闭合的开关,连接在Vin与Vout脚之间。 1. 在开关
2017-05-24 10:12:42 2296
原创 HEX转BIN文件总结
HEX转BIN文件总结hex是以文本的形式保存在文件内的,bin则是纯粹的二进制文件。 hex包含地址信息,bin不包含hex文件格式 长度 1 byte 偏移地址 2 byte 类型 1 byte 数据 n byte 校验码 1 byte 10 2CB0 00 ABFF00982060019860601CBDE82C0008 04hex文件的每一行数据都是
2017-05-17 09:19:58 1775
原创 CAN 学习笔记
CAN 学习笔记CAN 验收码与屏蔽码CAN通信一条总线上可以挂载多个设备,设备可以通过设置滤波器来选择性的接收数据。 滤波器由验收码和屏蔽码组成。 验收码:要接收的帧ID 屏蔽码:选择性的过滤帧ID。 当屏蔽码的某一位为1时,则忽略此位,此位不需要与验收码一致。当屏蔽码的某一位为0时,此位必须与验收码的此位一致。 举例: 验收码 屏蔽码 通过值 0x00 0xFF
2017-05-10 16:19:58 5945
原创 zstack linux gateway 移植
TI 官方最近公开了zstack linux gateway 的全部代码,做智能家居网关的不错方案。官方的是ARM的,要移植到mips上来。参考博客:http://blog.csdn.net/code_style/article/details/54375494 这篇博客讲的很详细了,只是没讲怎么操作而已。开始移植,下载代码就不讲了。首先,直接搜索makefile,把所以makefile
2017-04-12 14:29:06 1273
原创 QT *char 转QString
由于下位机通过串口传上来的字符串都是单字节的ASIIC码,直接转换为QString 不行,会出现乱码。原因是QString是双字节的字符,所以,要特殊处理。上代码 QString bootloadVersion = QString::fromLocal8Bit((const char *)&packet->aData[1], (int)packet->aData[0]);
2017-04-12 14:29:01 618
原创 QT 串口通讯
记录一些坑1.发送时返回值也正确,可就是发送不出去!在mainwindow里面实列的串口类,在其他线程调用发送,怎么都发送不出去!原因:串口类不可以跨线程调用,虽然返回值正确,但是发送不成功,不可以在跨线程!。解决:用槽即可解决。
2017-04-12 14:28:56 507
原创 向量,四元数理解。
当年不好好上学,基本的数学知识都不会,现在只有恶补一下了。最基本的向量。 比较通俗的说法:定义一个坐标为(1,1),从原点到此坐标画一条线,打上箭头,就表示为向量v(1,1)教科书上的定义:1) 在平面直角坐标系中,分别取与x轴、y轴方向相同的两个单位向量i,j作为一组基底.a为平面直角坐标系内的任意向量,以坐标原点O为起点作向量OP=a.由平面向量基本定理知,有且只有一对实数(x,y
2017-04-12 14:28:51 2720
原创 C# Hook鼠标消息
在用C#做一个游戏的脚本,要控制鼠标。在脚本允许的时候,用户乱动鼠标会影响脚本的正常操作,故需要屏蔽掉用户对游戏的鼠标。之前对hook也不是很了解,在网上搜了一圈,都是hook全局鼠标的,自己试验,全局也hook成功了,在对窗口hook时,怎么都不成功·····再搜,了解到全局hook,不需要把代码放到线程内执行,对窗口hook,是把自己的代码放到窗口的线程内执行,所以,需要用C++写成DLL
2017-04-12 14:28:47 1020
原创 STM32CubeMX Hal库的一些坑
STM32CubeMX Hal库的一些坑使用的是stm32f103 V1.40版本的库UART DMA发送的问题发送函数 HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); 发送完毕之后成功的回调函数也正常,可是再次发送的时候就发不出去了。一直返回错误
2017-04-12 10:14:28 22729 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人