自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 linux下vscode 使用sudo权限调试

1. 工程根目录创建一个名为gdb的可执行脚本。vim gdb,脚本内容如下,sudo chmod 777 gbd 使脚本可执行。sudo /usr/bin/gdb "$@"2. .vscode文件夹下的launch.json增加或改动"miDebuggerPath": "${workspaceRoot}/gdb"3. 更改/etc/sudoers,增加一行,user_name为自己账号名。user_name ALL=(ALL) NOPASSWD:/usr/bin/gdb

2021-07-24 08:00:23 7281 4

原创 cmake+mingw64+vscode环境搭建

一、windows下的搭建过程1. 搭建前PC的状态2. 工具安装3. 环境变量配置4. 创建一个测试文件main.cpp5. CMakeLists.txt编写6. 执行cmake出现的错误7. windows下的编译脚本8. vscode调试环境二、ubuntu下的搭建过程一、windows下的搭建过程1. 搭建前PC的状态 之前pc上安装过Visual Studio 2008/2013/2019,均未卸载,也许是搭建过程出现问题的原因,也...

2021-04-16 02:40:48 1953

原创 cmake参考

https://www.bookstack.cn/read/CMake-Cookbook/content-chapter1-1.1-chinese.md

2021-04-14 08:21:17 164

原创 linux-shell终端带颜色的log

为了调试的时候更加方便的区分哪些log是info,哪些是warning,哪些是error,于是将printf包装一下,使其能够带颜色输出,具体代码如下:#include <stdio.h>#define TEXT(x) #x#define PRINTF_INFO(x) \ printf(#x "[%s: %s() => line: %d] ", __FILE

2021-03-25 23:49:11 473

原创 lvgl-记录一个page widgets的坑

在应用page widgets时遇到了一个坑:在page上创建了container子对象,然后编写container子对象的event响应,在响应函数中需要获取其父对象的资源,然后发现它父对象变成了它爷爷了。一路debug终于找到问题,在page的LV_SIGNAL_CHILD_CHG 信号中,将子对象移到了可滚动的对象上(lv_obj_set_parent(tmp, ext->scrl);),就这样儿子变孙子了。虽然能正常使用,虽然很巧妙,就是感觉怪怪的。/*Automatically m

2021-01-16 13:50:11 929

原创 菜鸟学linux-网上抄了一个开源的makfile

从网上抄了一个makfile用于自己的工程1. 我的工程目录如下2.修改后的makfile修改如下MAKEFLAGS := -j $(shell nproc)SRC_EXT := cOBJ_EXT := oCC := gccSRC_DIR := ./WORKING_DIR := ./buildBUILD_DIR := $(WORKING_DIR)/objBIN_DIR := $(WORKING_DIR)/binWA

2020-12-27 11:24:30 108

原创 记录ubuntu18.04下搭建nuttx RTOS的过程

官方参考链接:https://nuttx.apache.org/docs/latest/quickstart/install.html Getting started ==> Installing主要记录一下按照链接指导搭建中出现的问题。1. Kconfig安装执行make install报如下错误/bin/mkdir -p '/usr/local/lib'/bin/bash ./libtool --mode=install /usr/bin/install -c libs...

2020-12-23 09:49:52 1432

原创 菜鸟学linux-nohub后台挂起和终止

1.使用nohup让python脚本在后台运行,退出ssh的时候不会导致脚本停止nohup python3 MqInfoServer.py & > log.out其中&代表后台运行,此后终端能继续输入> log.out 表示把终端输出的打印到文件log.out中2.停止nohup启动的后台root@xxx:/home/python/PyClient# ps -ef | grep pythonroot 508 1 0 11:27 ? ...

2020-11-14 20:06:48 712

原创 菜鸟学linux ssh/ftp服务和工具登录

以下操作是在ubuntu16.04下操作在嵌入式linux开发时,一般都是在windows下编辑代码,在linux中编译代码。这个时候往往会使用远程登录工具登录linux,使用ftp工具传输文件。这里使用了MobaXterm_Portable_v10.4一个集成工具就可以了。1.ssh服务 要用远程工具登录,首先得linux开启了ssh服务。先查看一下是否安装了ssh服务端(dpkg -l | grep ssh ),如果没有则需要安装一下(sudo apt-get install opens..

2020-10-26 20:39:26 197

原创 菜鸟学linux arm-linux-gcc交叉编译的安装

1.下载arm-linux-gcc 百度一下下载即可,我这使用的是arm-linux-gcc4.4.3版本,这是我上传的连接

2020-10-26 20:19:50 328

原创 菜鸟学linux-我的第一个makefile

1. makefile用来干什么的? 这个玩意就是用来编译链接程序(更复杂的我就不知道了),类似于之前在windows下,在IDE上点击编译按钮。linux如果使用IDE也是能实现一键编译的,但是不知道为啥linux下编程的大牛们都不用,可能是大牛们喜欢黑洞洞的窗口,逼格比较高。2. makefile怎么替代windows中IDE的一键编译呢? linux黑洞洞的窗口,没法点啊,只能输入指令了。打开高逼格shell交互窗口,一直cd到你放程序makefile的根目录,然后输入make...

2020-10-24 12:01:22 235

原创 使用python的csv模块封装一个读写csv的类

直接上代码import csvclass MyCSV: def __init__(self): self.__file_name = '' self.__max_row = 0 self.__max_col = 0 self.__data_list = [] #插入空行 def __insert_...

2020-01-19 22:55:20 1036

原创 C++读写CSV文件

CSV文件是常用的excel文件格式之一,行与行之间使用换行符分隔,每行的各个列使用逗号分隔。根据CSV的这特点,利用STL的vector容器,搭建了一个CSV读写的类,目前实现的api如下,具体代码见附件。 bool Create(const char *pcsvfile);//创建一个csv文件 bool Open(const ch...

2020-01-13 17:00:26 2464

原创 C语言中函数实现可变参数原理的分析

C语言支持不定参数的函数,例如:打印函数sprintf(buf, %d%s%c, 1234, "sprintf", 'H'),该函数是将后面的参数按照“%d%s%c”指定的格式,转成相应ascii,并存到buf中。下面以sprintf函数为例,分析一下编译器是如何知道传入的参数有几个,它们的值都分别是多少?1.函数调用参数的压栈过程在发生函数调用时,编译器会给每一个形参生成一个变量,并将形...

2020-01-03 01:35:18 335

原创 使用ODBC进行数据库的操作

1.配置ODBC打开C:\Windows\SysWOW64\odbcad32.exe,如下图所示,选择“用户DSN”选项。点击添加,如下图所示。选择"MySQL ODBC 5.3 Unicode Driver"。点击完成,如下图所示。"Data Source Name"数据源名称,自己自定义一个名称,不和已有的重复即可,这里填test,注意:这个在写程序的时候需要用到。...

2019-11-30 21:17:36 3287

原创 记录keil5下使用RAM调试过程

1.设置程序存放的地址,IROM1,这里设置从0x2000 0000开始,大小为0x8000;2.设置程序RAM运行地址,IRAM1,由于前面的0x8000大小的RAM用于存放程序,所以这里得设置从0x2000 8000开始,大小为0x8000.3.设置中断向量表存放位置的宏,VECT_TAB_SRAM表存放在SRAM中。4.先去选Use Memory,在右边的R/O Base...

2019-08-01 23:46:29 3141

原创 vs2008创建动态库和使用动态库的方法

一、创建动态库打开vs2008,新建一个项目,选择win32->控制台应用程序->输入名称。点击确定点击下一步,选择DLL->勾选空项目,点击完成,至此工程创建完毕。向工程中添加.h文件,声明接口函数,声明函数前加上关键字__declspec(dllexport),以便被外部引用,为了防止重名可加入namespace命名空间,这里不加了。添加.cpp文...

2019-07-21 13:53:32 1796

原创 C实现输出log代码

编程环境:vs2008实现功能:调用系统时间,每秒打印一个log信息到TXT文件中,并printf输出到窗口,每个小时生成一个log文件。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>int main(){ ...

2019-07-13 08:06:29 1380

原创 iar开发啊环境下查看程序中实际使用的堆空间

单片机中的堆主要用于动态分配内存,malloc和new都放在堆空间。iar如何查看程序中已经使用的堆空间?参考https://www.cnblogs.com/harleygwak1206/p/5846587.html。参考该作者时,发现本人的工程中无法编译通过,本人步骤如下:1.增加头文件#include <iar_dlmalloc.h>,在主任务中调用__iar_dlmall...

2019-07-04 16:51:21 1332

原创 STM32开发从keil5转iar遇到的问题

之前一直使用keil来开发STM32,最近到了新公司要求用iar来开发,在转的时候遇到了一些问题,下面总结一下。 1.启动文件的问题。keil5的启动文件和iar的启动文件是不一样的,从keil移植过来的一定要注意这个问题。 2.core_cm3.h文件问题。由于iar自带了该文件,所以keil5中需要将core_cm3.h文件删除或改成其他名字,iar中的需要更改的地方如图1,在...

2019-06-11 00:09:53 2017

原创 STM32使用__attribute__((at(0x????????)))将变量定义到绝对地址

之前在学习51的时候,遇到使用byte xdata SendBuffer[5] _at_ 0x8000,表明把数组SendBuffer放到外部RAM的0x8300的位置。STM32是怎么定义的呢? 查了一下STM32使用uint32_t SendBuffer[5] __attribute__((at(0X20000000))),注意attribute的前后都是两个下划线"_...

2019-05-26 23:09:10 4655

原创 C语言实现队列

队列:先进先出的一种数据结构。代码在Visual 2008的C++下编译的,如下:typedef struct{ HRINT32U pAddr;}MyQueue;//队列数据类型#define MaxNum 10 //队列最大容量10MyQueue m_queue[MaxNum];//队列数组HRINT8U InputAddr = 0;//入队地址HRINT8U Ou...

2019-05-07 01:04:23 1480

原创 DS18B20调试总结

DS18B20是单总线的温度传感器,在使用MCU对其进行操作的时候,往往使用模拟单总线时序来进行读写,下面是驱动。1.复位时序图static HRINT8U DS18B20_Reset(void){ HRINT8U status; DS18B20_SetDataOut();//数据线配成输出 DS18B20_DATA_HIGH(); //拉高总线...

2019-03-09 16:11:40 5641 1

C++读写CSV文件

使用c++自带的stl库的vector容器来对csv文件进行处理,目前支持csv创建,行列插入,行列修改,行列删除,求和,求平均值等功能。

2020-01-13

SocketClientTest.zip

使用vs2008使用动态库,代码基于模拟socket通讯流程写的,并不是真正的socket通讯。

2019-07-21

SocketClient.zip

使用vs2008创建一个动态库,生成.dll、.lib文件,代码基于模拟socket通讯流程写的,并不是真正的socket通讯。

2019-07-21

C输出log信息到文件.zip

获取系统时间,然后每秒输出一个log信息到C:/Users/Qin/Desktop/log/文件夹,每个小时存放一个txt文件.

2019-07-13

win7 64位系统下的重刷J-Link v8固件

win7 64位系统下的重刷J-Link v8固件

2016-05-02

空空如也

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

TA关注的人

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