- 博客(23)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 《大话设计模式》笔记——策略模式
策略模式 是指同一个对象在不同情况下的行为有所差异,继续以之前的四则运算为例。”加、减、乘、除“ 就是两个参数在不同情况下计算过程的差异性行为。所以在某种程度上,策略模式可能比简单工厂模式更适合 “计算器” 的实现。...
2022-07-10 01:26:21
771
原创 C语言线程基本函数
学习笔记: C语言线程基本函数学习内容:线程常用基本函数:pthread_create() 创建线程pthread_exit() 退出当前线程pthread_join() 等待其他线程结束pthread_self() 自身线程ID号pthread_cancel() 停止其他线程pthread_detach() 分离某个线程学习笔记:线程使用需要导入对应头文件#include <pthread.h>pthread_create() 创建
2022-04-02 13:03:45
3294
2
原创 手工向GD32F450移植RT-Thread内核
手工向GD32F450移植RT-Thread内核第一步 准备一个可编译成功的串口输出裸机工程第二步 将准备好的文件添加到工程中,同时还有头文件路径配置第三步 进入操作系统第四步 打开时间调度第五步 实现控制台输出第六步 实现动态内存管理完成动态线程创建第一步 准备一个可编译成功的串口输出裸机工程在裸机工程目录下创建文件夹rt_thread复制源码中这三个文件夹过来,然后再创建三个文件board.c board.h rtconfig.h(建议从已有同款芯片的工程中复制,这样就不用疯狂手敲了)li
2021-09-07 21:09:57
1953
1
原创 Delphi学习_控件设计器的实现_工程文件保存加载
INI文件的保存与加载今天目标是通过INI文件的读写将当前的工程进行保存,同时实现对已有工程文件的读取。起初的实现是打算通过txt文件的读写完成该任务,通过学习了解到Delphi中含有对INI文件操作的封装,相对于已有的API总比自己写的要安全稳定快捷的多。INI基础API关于INI文件的具体介绍请移步百度,这里只写我看到的样子。该文件主要分三个部分:section、key、value。通过检索节可以得到键、通过键再检索出值很直白。相关API打开文件ini:TMemIniFile;/
2021-08-02 20:30:11
245
原创 Delphi学习_控件设计器的实现_动态对象的创建
动态创建对象列表问题描述:设计器在使用时没有固定的控件数量规定,同时控件类型也没有明确细分,需要程序在用户通过button选择后动态创建。问题分析:控件类型的不同是指在最后完成界面设计后导出的文本消息不同,但基本属性结构相同,所以直接在自定义的父类下完成类的派生,在子类中对导出动作进行重写。动态创建需要通过一个TObjectList对象对产生的动态对象进行保存,同时也可以通过该类的一些属性完成动态对象的操作。具体实现在这里只派生了3个子类,同时在界面上也添加了3个button,通过
2021-08-02 20:03:50
392
原创 Delphi学习_控件设计器的实现_自定义父类
Delphi学习_控件设计器的实现自定义父类部分对象动作解释自定义父类父类为每个动态创建控件的主要表现形式,本次设计通过继承TGraphicControl类实现。在拓展出常规的位置、大小等属性外同时仿照TShape类,在类内部声明Canvas用来实现文字的显示,同时定义虚函数方便实现不同控件的文本输出。部分对象动作解释constructor TDefObject.Create(AOwner: TComponent);为完成对象的构造在调用父类的构造函数还需要对类中部分对象进行构造。FBrush
2021-08-02 19:48:15
349
原创 DSP28335笔记 —— 定时器
DSP28335笔记 —— 定时器相比于STM32,DSP28335的定时器好像真的简单了好多,从定时器个数来讲只有3个,时钟源只能是系统时钟,而且计数方向也只有向下计数。单纯且善良的定时器,好不让人心生喜爱。目录DSP28335笔记 —— 定时器定时器介绍相关寄存器定时器代码实验定时器介绍TMS320F28335 的 CPU Time 有三个,分别为 Timer0,Timer1,Timer2,其中 Timer1和Timer2 是为操作系统 DSP/BIOS 保留的,当未移植操作系统时,可用来做普
2021-02-07 23:07:20
8116
1
原创 DSP28335笔记 ———— 中断系统 之 外部中断
DSP28335笔记 ———— 中断系统 之 外部中断我用的开发板是“硬汉DSP28335开发板”,文中对于硬件的描述可以说是没有,而且我还没有附上电路图希望在看的朋友不要喷我。然后,我个人感觉普中的DSP28335开发手册比较容易看懂,他里面把寄存器功能都列了出来还做好了翻译,比自己翻原版的手册方便的多。目录DSP28335笔记 ———— 中断系统 之 外部中断一、DSP中断系统二、外部中断三、外部中断代码试验一、DSP中断系统DSP28335中断系统分为三级中断,分别为:外设中断、PIE中断、
2021-02-05 22:57:43
8417
3
原创 DSP28335笔记——系统时钟 和 GPIO
DSP28335笔记——系统时钟 和 GPIO闲谈原本信誓旦旦的说要在这个寒假拓展自己能力为一年后毕业工作提高自我竞争力,但是事实证明人类的惰性实在难以克服。开发板到手有三天,在没有外界压力情况下的自我学习效率也确实低的可怜,没办法只好自己给自己施加压力了。希望能够通过博客给自己的学习做个记录,同时也能实现自我监督的目的。文章目录DSP28335笔记——系统时钟 和 GPIO闲谈一、DSP28335简介二、系统时钟1.时钟框图2.代码实现三、GPIO点亮LED1.GPIO方框图2.对应寄存器:3.相关
2021-02-03 02:40:02
3299
原创 关于Linux树莓派驱动代码的编写和测试的笔记
准备测试代码:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>int main(){ int fd; fd = open("/dev/pin4", O_RDWR); if(fd > 0){ printf("open successful\n"); } else{ printf("open failled\n"
2020-10-18 15:30:47
267
2
原创 Linux中apt-get无法下载的解决方法
今天跟着课程要下载一个tree,结果出现这个问题报错:通过面向百度找到解决方法:第一步: 查看是否有apt-get这个程序在运行ps aux|grep apt-get第二步: 如果发现存在这样的程序在运行那么就kill掉,否则执行2.3第三步: 直接删除锁文件sudo rm /var/lib/dpkg/lock-frontendsudo rm /var/lib/dpkg/lock成功解决:...
2020-10-17 12:01:37
1711
原创 单片机串口通信实现printf,scanf
通过改写标准库实现串口的printf() scanf()实现方法:首先在mian文件中导入c语言标准库,然后重写fgetc()和fputc() 如下:int fputc(int ch, FILE *f){ HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY); return ch;}int fgetc(FILE *f){ uint8_t ch; HAL_UART_Receive(&am
2020-09-26 19:51:35
2084
原创 Linux学习——进程间通信(初识)
Linux学习——进程间通信进程间通信(IPC,Interprocess communication):是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。IPC方法:无名管道(pipe)、有名管道(fifo)、消息队列(msg)、共享内存(shm)、信号(sig)、信号量(sem)1.无名管道(pipe)个人认知:半双工通信,仅用在父子进程当中进行通信,当进程结束管道随之消失。原型:#include <unistd.h>int
2020-09-09 21:49:06
310
原创 arduino学习——servo类 控制舵机
硬件WeMos D1平台 + SG90舵机SG90舵机相关介绍:角度:90度 - 180度通用红色为5V电源线,棕色为地线,橙色为信号线无负载转速:0.12秒/60度 (4.8V)堵转扭矩:1.2 - 1.4公斤/厘米 (4.8V)servo类函数的用法方法描述servo.attach( )连接舵机信号线引脚(自带库仅9/10脚有效)servo.write ( )写入角度servo.writeMicrseconds ( )写入更精准的角度(um
2020-09-04 19:31:26
3665
1
原创 arduino学习——UART串口通信
Serial.begin( ) //初始化串口用作串口的启动,常放置在setup()中。原型:Serial.begin(speed)Serial.begin(speed, config)参数:speed:波特率config:设置数据位、校验位和停止位。默认情况下为 8个数据位无返回值Serial.println( ) //串口输出数据并换行原型:Serial.println(val)Serial.println(val, format)参数:val:打印的值,任意数据类型(
2020-09-04 19:10:26
6143
原创 arduino学习——引脚配置、超声波测距模块使用
配置Arduino在代码编写中首先在工具选项中完成相关硬件的选择,本次学习使用的硬件平台为 WeMos D1。板:“WeMos D1”Upload Using:“Serial”CPU Frequency:“80 MHz”Flash Size:“4M(3M SPIFFS)”Upload Speed:“115200”Arduino中,上电后首先执行setup( )函数,然后重复执行loop( )函数:核心控制代码写入loopsetup函数只调用一次,一般用于硬件相关的初始化,比如IO口,串
2020-09-04 18:49:57
3144
原创 python自学笔记——matplotlib
python学习笔记——matplotlib为了巩固学习效果,加强自身印象,今天开始进行学习笔记的记录,同时也可以方便以后查看。内容:matplotlib库函数:饼图:pie()条形图:bar()直方图:hist()箱线图:boxplot()折线图:plot()散点图:scatter()热力图:heatmap()组合图:subplot2grid()1、饼图:pie()import matplotlib.pyplot as pltplt.pie(x, explode=None
2020-08-14 01:10:55
533
原创 C51单片机学习笔记——秒表
前言不知不觉我又被自己的惰性拖住了小一个月,今天在宿舍窗边吸烟时候,看着楼下人来人往的道路不由自主的感到一丝惭愧,手里的小视频也被我刷出来一条鸡汤,在这儿我要写下来记录给将来又在颓废的我: 这个世界最恐怖的不是有人比你优秀,而是那些比你优秀的人比你还努力!!!OK,食归大肠,水入膀胱,咱们言归正传。今儿做的是时钟升级版实验——秒表。任务介绍同样利用上次的时钟原理图,改写成为可记录多人的秒表。( ヾ(TДT;))))…!脑子里不知不觉想到在部队生活时的夺命追魂表。。。)要求:显示格式为
2020-05-14 16:54:51
4088
2
原创 C51单片机学习笔记——时钟的实现
C51单片机学习笔记——电子时钟的实现前言其实很早就想写点东西,但是自己身为一名学渣实在是没什么自信,但是有了某人的鼓励和支持,我决定开始做出来一点学习习惯上的改变。往后我会磕磕绊绊将学习中的小知识和小经验统统写出来,一方面巩固自己的掌握程度,另一方面希望能给跟同我一样退伍返校学习有困难的大学生一点小小的帮助。往后哪里有说的不对的地方,希望各位大佬能多担待着点儿,帮我指出问题,在此提前谢谢了...
2020-04-23 01:20:28
3724
3
STM32F103RCT6 之 GPS+BDS模块
2020-12-21
test5_StopWatch.c
2020-05-14
timer.pdsprj
2020-04-23
timer_C51.c
2020-04-23
TI-RTOS在编译器导入后有没有对MCU进行时钟配置,如何解决?
2021-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人