自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高源的博客

以后再说

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 内存溢出性bug记录,不好找原因,出差,复现概率极低挂机几个月都有没浮现的

内存溢出典型问题

2023-12-23 11:54:17 858

原创 stm32L071KB单片机字节对齐问题

字节对齐 原子单位u8

2023-12-04 17:17:47 893

原创 stm32(GD32,apm32),开优化后需要特别注意的地方

开了优化引发的同一套代码,出现不能使用的现象

2023-09-06 09:14:44 969

原创 开发GD32遇到的坑B点

移植stm32程序到GD32遇到的坑,坐下记录分享

2022-09-04 16:39:47 2919 1

原创 赛普拉斯CYpress,初接触之二串口打印调试

调试

2022-07-01 09:33:48 378 2

原创 赛普拉斯CYpress,初接触之一电磁感应触摸按键demo

PSOC开发板

2022-07-01 09:06:03 774

原创 C优化注意事项,中断优化O2

项目场景:OP操作面板,flash空间不够用,需要优化代码,然后采取优化方式O2,编译通过,但却无法运行问题描述`接着上一个话题OP操作面板,一个主机linux+一个单片机OP,二者通过I2C进行通信。具备升级功能。单片机的flash空间位128K,我的设计方案是30K的boot+45K的app运行空间+45K的app备份空间,另外的8K空间用于用户数据存储。也就是说真正运行代码空间只有45K,虽说flash位128K的。那这个时候就需要进行代码的优化,采取编译器的O2优化方案。原本41K的运行

2022-04-21 21:30:00 310

原创 大量数据下两个任务对同一组数据的操作

更新博客缘由: **一晃大约1年半没有更新过博客了,还是要督促下自己了。最近项目遇到问题,更新下,供大家参考也为自己留个纪念**项目场景:主机linux系统+从机单片机之间进行通信,通信方式采取I2C方式,时间为20ms一次。I2C为主从模式,从机不具备主动上报功能,因此只有主机定期查询从机状态问题描述主机linux芯片功能强大,通过I2c挂载一个单片机,单片机用于做按键+显示功能。1:主机通过下达write I2C数据控制单片机显示各种画面数据。2:主机通过20ms轮询方式读取从机按键

2022-04-19 21:02:38 443

原创 Makefile的简单测试应用

前言写这篇文章的初衷是:本人采取IMX 6ULL linux开发板自己写测试程序遇到了困难,然后找到的解决办法来记录,并分享下。单片机出身的我,在linux上面喜欢追求底层驱动的写法,当我还不了解QT编程的时候,还是喜欢直接操作屏幕。也就是说把linux来当作单片机来用,(linux的ram空间比较大 0.0)进入主题然后图片的信息通过python或者其他工具搞成二维数组的方式,图片的...

2019-12-27 12:52:33 413 1

原创 visual_studio编译C代码使用tcp需要添加ws2_32.lib

使用visual_studio调试C中TCP需要在代码中加入window库:如下:#pragma comment(lib,"ws2_32.lib")C中调试使用tcp的目的是:通过tcp发送指令,模拟嵌入式中的按键操作.使用方法是:vs运行后数据通路建立,之后的操作,自己弄个协议就可以了,让嵌入式摆脱了实际按键测试.还是比较方便的完整代码如下:#define _WIN...

2019-11-04 15:13:26 1682

原创 友善1161B底板4412编译环境的配置

linux3.5内核Makefile工具链配置如下:编译工具链的设置位置是:打开vi /etc/profie最后一行加上export PATH=$PATH:/home/yuan/mytools/4.9.3/bin注意全都是在普通用户下操作的,如果出现权限问题使用sudo chown 用户:用户组 fileeg:chown yuan:yuan linux-3.5.tar...

2019-10-30 10:19:43 132

原创 Ubuntu1604编译内核时出现Can't use 'defined(@array)'

内核版本采取的时友善-》3.5.0-FriendlyARM编译时出现如下图所示:据说是官方内核的一个bug.其他网友所说时内核一个bug解决办法:如图把1修改为2OK了...

2019-10-30 09:36:36 148

原创 4412——Linux驱动入门01

前言作为一名嵌入式开发工程师,学习linux是必要的。当初我在校培训linux S3c2410开发板,结论:迷迷糊糊。所以打算从“根”上去学习,结果走上了单片机-》智能家居的路上。幸好目前有幸接触linux开发项目。从头把linux在搞一遍,成为一名合格的嵌入式开发工程师。今天要使用的板子是4412,谈下为什么使用这个板子,网上对于很多学习linux的开发板,大多是关于s3c2410,等等。然...

2019-10-26 16:51:54 362

原创 C++入门面向对象基础知识

熟悉下C++ 的面向对象随着语言学习的比较多,而且都处于基础阶段,基础容易被忘记,做个例子,复习用。其中的内容和python比较相似,毕竟都是面向对象。#include <iostream>#include<time.h>using namespace std;#define MAX 10class Box{public: double length...

2019-10-14 16:22:24 258

原创 4412——Linux驱动入门02-misc_register函数注册一个混杂设备

前言

2019-09-10 16:37:39 490

原创 4412——Linux驱动入门03-寄存器操作pwm波形控制蜂鸣器

前言说到寄存器这么底层的控制,想必都会说厂家会提供相关的api函数,不需要我们寄存器操作这比驱动层还靠底层。4412中确实已经被三星公司封装了,而且封装的确实好,但是目前公司使用的芯片,对方没有给提供使用的平台,因此就不存在如gpio的封装操作。更别提PWM的事情了,因此我用4412来操作寄存器,脱离平台控制硬件设备外设。开始我的表演通过硬件原理图了解到接入的蜂鸣器接口时GPD0_01:...

2019-09-10 16:10:03 866

原创 python项目中自动生成requirements.txt文件

1、进入需要生成文件的目录,执行 pip freeze > requirements.txt ,此方法会包含环境所有的依赖包。2、如果要安装requirements.txt中的类库内容,那么你可以执行: pip install -r requirements.txt...

2019-07-27 15:59:11 292

原创 python模拟按键,键盘码

Python扩展模块——调用WindowsAPI(pywin32的简单使用)这块使用的比较少,只用到了模拟键盘按键,调用鼠标比较费事,是通过像素坐标实现的,如果没有特殊需求或万不得已不建议使用1 import win32con2 import win32api3 win32api.keybd_event(13, 0, win32con.KEYEVENTF_EXTENDEDKEY, ...

2019-07-26 14:28:02 6108

原创 window编程socket(C版本)

前言为什么要弄出一个window C版本的程序?使用python的tcp不是更为容易?其实我做这个的目的就是为了测试自己写的C代码,通过tcp的socket编程可以理解为tcp == 串口,可以测试协议数据等等,此外可以移植如加密的各种算法,然后通过tcp通道传入加密原始数据,加密后返回加密结果等等,算是一个小工具。话不多说上代码 。#include <stdio.h>#incl...

2019-07-16 18:38:32 622

原创 window共享内存(c版本clion实现)

前言在window上面模拟两个程序之间数据的传递,上篇文章采用的是socket编程的方式,今天采取window共享内存的方式。采取共享内存方式好处把,也没发现有什么特殊的,可能就和共享的文件名有关关系吧,可以采取多个文件名,实现多个进程之间的通信把。话不多收上传代码,做个记录下面这个程序运行后作为向共享内存中写入数据#include <windows.h>#include &...

2019-07-16 18:27:39 313

原创 clionIDE多个main函数共存问题,一个工程,可以开启多个测试,无需多次创建工程

前言作为一名嵌入式开发工程师,C代码的模拟很重要,不能每次都在板子上面烧写测试,太麻烦了。以前使用vc++6.0 devc++,我用过界面太老,功能欠缺,不够时尚。jetbrains公司开发的clion,pycharm等都是编程利器。话不多说,进入主题。下面介绍下clion,在代码模拟过程中只有一个main.c,无法**"同时共存多个main**"如果不想要重新开个工程怎么在创建第二个文件进行...

2019-07-16 14:26:13 1763

原创 嵌入式项目中打印管理

对于单片机开发来说,如stm8 stm32,代码中加入过多的打印会影响效率,但是不加打印影响代码的调试,因此,控制代码的打印显得尤为重要。直接看代码,没啥好解释的。粘贴复制就是干吧。注意:我是在window上面的clion中测试的,因此又sleep(1)这个函数可以使用#define PRINT_DEBUG_LEVEL 3 // 控制打印的等级unsigned char S...

2019-07-09 18:08:57 307

原创 C枚举实战用法

前言提起枚举大家感觉很简单的,但是理解不深的我也被嘲笑过,特此来此坐下记录,只有自己写出来的,亲手敲出来的,理解才会更清楚typedef enum{ MONDAY = 0x00, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, DAY_NUM,}WEEK_e;WEEK_e day; // 定义...

2019-05-30 14:06:35 1598

原创 注册回调函数实现方法

前言回调函数(callback):回调函数就是在框架设计之初留下一个还未实现的接口,供后来人去实现(不实现也没事)。也可以理解在别人的函数中“插一脚”,有一种“你的过去我来不及参与,你的未来我奉陪到底”。 看代码的时候是不是总能看到api提供了一个注册函数,这个被封装,你是否好奇他是如何实现的?话不多说,上代码回调函数是由函数指针来实现的,在看这个之前先要了解函数指针哦int (*p[5...

2019-04-12 12:34:07 14047 3

原创 入门单链表操作

单链表基础操作创建、增加、删除等浅谈原理话不多说,代码来见typedef struct LinkList{ int element; struct LinkList * next;}link_list_t;int main(int argc, char * argv[]){ while(1) { ui_task(); }}v...

2019-04-12 08:53:15 193

原创 信号量和互斥信号量的理解

信号量和互斥信号量的记住和理解应用是不一样的哦,面试常问。做下本人理解和参考他人后的笔记对于互斥锁(Mutex)来说,只要有线程占有了该资源,那么不好意思,其他线程就是优先级再高,您也得等着,等我用完再说。我用完之后资源你们爱怎么抢都行,我占有资源的时候别人都不许抢,申请该资源的线程一律等待。信号量(Semaphore)就更灵活一点,我们如果想把我用完的资源给我关系好的人,就申请一个信号量,...

2019-04-09 08:26:11 3577

原创 嵌入式框架-01-之等级分类讨论

嵌入式开发框架极为重要,但是这方面的介绍网上的部分过于“专业化”,属实看不懂。本人在开发过程中遇到自认为较好部分整理出来分享一下。测试环境:clion可选择stm32开发板创建任务,可搭配消息队列进行数据的传递,暂时手上没有,故作此。#define NG_LEVEL_DETPTH (9)unsigned char ng_level_menu[NG_LEVEL_DETPTH] = {0x0}...

2019-04-08 16:12:50 194

原创 博客说明

人生苦短,岁月流逝,总要留下些活着的踪迹。毕业已经有几年的时间,一直想要写点什么,但总是由于这样或那样的理由一拖再拖,现在是时候了,再不做就老了0.0时不时的会被问到你的xx规划是什么?太难了!我属于随心而动,喜欢就去做。做过的项目有智能取暖器,智能净化器,智能按摩椅,智能插座,智能灯等小家电产品使用过的芯片主要有stms003、stm8l051,stm32f103使用的WiFi芯片有乐...

2019-04-04 18:46:38 195

原创 官方markdown使用方法

第一个博客诺欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdo...

2019-04-04 09:12:38 229

原创 git多人合作开发使用到的指令

团队开发中指令的使用添加bug注释如下添加成功后在git目录下打开命令行git diff 查看哪些内容更改了git add -u 添加修改的文件也可以使用git add . 添加所有改动的文件git status 查看添加是否成功,成功后文件变为绿色添加提交注释 git commit -m “#1534 Add keycode instruction...

2019-04-03 14:19:04 821

原创 git安装后 ssh key的配置(码云为例)

配置码云ssh key及其验证前言设置方法(环境配置)1.git 账号配置2.配置ssh key1 )确认ssh key 是否已存在2 )如果不存在,使用一下命令生成ssh key3 )拷贝public SSH key并且到剪贴板4 )将public SSH key 添加到码云4 )将public SSH key 添加到码云5 )成功后显示前言为什么使用码云开发呢?因为在GitHub上面,编辑...

2019-04-03 13:37:37 1374

原创 C语言笔记

@[TOC](字符串问题)

2019-04-03 11:07:10 145

lcd_moni.zip

一套makefile测试,其中编译属于跨文件夹编译,由浅入深,其中demo测试内容为lcd显示屏,显示图片数据,makefile分为版本编译,由浅入深还有跨文件夹编译,文件夹下的.c自动编译,无需添加额外点C文件

2019-12-27

空空如也

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

TA关注的人

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