- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 LTDC CUBE STM32
笔记:LCD: IC ST7789 spi接口/rgb接口软件:Kile5 cube问题:1 注意硬件连接 565/666/888 硬件和厂家提供的手册是否对应2 时钟 时钟 时钟 最后测试为10mhz也挺好,后续可能会增加3 图片格式:240x320 还是320x240 (真的 我都疯了并服了)4 cube官方包里边有图像转换工具 midware st5 屏幕参数设置要根据手册6 熟读手册和指令...
2020-12-16 14:44:13
228
原创 cube+sd+fatfs+freertos
遇到问题及解决1 注意硬件连接,上拉2 sd卡的检测引脚3 加上freertos之后要在正确的任务里边(开始任务)测试4 各部分的时钟要对。自己记录下遇到的问题,防止以后遗忘?/////////////函数功能:在fatfs模块注册或注销一个工作区(文件系统对象)//参数:fs:fs工作区(文件系统对象)指针,如果赋值为null,可以取消物理设备挂载// path:注册/注销设备工作区的逻辑设备编号,使用设备根路径表示// 0 不立即挂载 1 立即挂载f_mount(&
2020-12-04 13:39:55
555
2
原创 shell查找特定文件
shell查找文件的代码,一个查找当前路径的,一个查找可多的,呵呵。1#!/bin/bash#简化版的查找.c文件的shell脚本#寻找.c文件的函数(function )findcfile(){#找到以.c结尾的文件,文件名列表存放在变量cfilelist里边cfilelist=(ls∣grep′.c(ls | grep '.c(ls∣grep′.c’) #通过for循环显示文件路径以及文件名for cfilename in $cfilelistdoecho (pwd)/(pwd
2020-08-20 20:32:29
1370
原创 网络编程tcp/ip多路复用 对selece()函数的使用
多路io复用:io模型:阻塞io:最常用,最简单,效率最低非阻塞io:防止进程阻塞在io上,需要轮询多路复用io:允许同时对多个io进行控制:内核添加一张表,监听表里面的信息,当有资源准备就绪就执行资源==》文件描述符去除与否 创建表==》监听表缺点:每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大。同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大。select支持的文件描述符数量太小,默认1024信号驱动io:
2020-08-20 20:28:14
379
原创 网络编程之没有io多路复用
网络编程www.baidu.com 域名(每个域名都有对应的ip) 202.108.22.5 TCP 有连接的,可靠的,一定可以保证消息可以传达给对方,有三次握手UDP 没有连接到 不可靠的 不能保证消息一定能够传达给对方,不存在三次握手利用套接字进行通信:服务器有两个套接字一个叫监听套接字一个叫通信套接字客户端只有一个套接字通信套接字 服务器:bind()绑定ip,端口号(区分进程,电脑里的哪一个进程),域名,网络类型 ...
2020-08-20 20:25:33
331
原创 linux_信号
信号的基本概念继承unix古老通信机制软中断的模拟机制(接收一个信号会执行固定的操作)linux下的62个信号,每一个信号都有自己独特的定义前31个信号继承unix的非实时信号,后31个是linux自己扩展的实时信号实时信号拥有排队机制 非实时信号不拥有排队机制大部分信号都使进程凋亡查看: man 7 signle //kill -l 查看信号常见信号:信号2 :SIGINT :ctrl+c信号3:SIGQUIT :ctrl+信号9:SIGKILL信号10 12:
2020-08-09 09:36:26
135
原创 linux 管道
进程间的通信方式:为什么进行通信:linux操作系统多进程操作系统数据的传输资源共享通知事件进程控制进程通信的分类: 信号:软中断模拟机制,类似于通知管道:可以进行数据传输,具有单向导通性以及阻塞共享内存:多个进程共享一块数据,可以随时读取以及更改信号量集:同步保护资源消息队列:最符合通信思想,单纯收发数据套接字:用于网络通信管道创建: pipe 功能:创建无名管道原型:int pipe(int filede[2]) 头文件:unistd.h参数:filed
2020-08-06 14:34:52
173
原创 c的几个关键字
面试常用:c关键字static 静态的1 定义一个局部变量,该变量在定义时只进行一次初始化,以后每次调用它所在的函数,其值都会保持上一次调用的结果它所在的空间不会被释放。2 被static修饰的全局变量,则只能在它所在的c源文件中使用,其他文件不能调用(内部全局变量)3 被static修饰的函数,只能在该函数所在的c源文件中被调用,其它文件不能调用(内部函数)const 常变量:被const关键字声明的变量,其值不能被改变char *const p; //指针变量p不可改变,但是它指
2020-08-06 14:33:45
149
原创 多进程初步
进程:关于进程: 进程初探程序:可执行的二进制代码文件进程:程序被加载到内存中运行 系统中基本的执行单元联系:具有一定独立功能的程序的一次性活动,操作系统动态执行的单元,包含程序从调度到消亡整个动态过程运行这的程序都是一个进程 系统本身也运行这许多管理系统资源和用户访问的程序一个程序可以被加载多次成为不同的进程查看:shell ps -ef UID PID PPID C STIME TTY TIME
2020-08-05 20:37:30
113
原创 文件操作
与时间有关的SHELL命令与时间有关的shell命令:date //显示当前日期-中国北京时间date -U //显示当前日期时间 -世界标准时间UTCdate -R //显示当前日期时间 -RFC格式cal显示日历 cal month year //显示指定年月的日历time ./a.out //显示程序运行的时间 real 程序开始运行到结束的时间 user 用户cpu时间 sys 系统cpu时间说明:用户cpu时间就是执行用户指令所用的时间系统cpu时间就是该进程执行内核程序
2020-08-05 20:35:45
132
原创 linux 继续~
文件操作标准io(有缓存)每当运行程序时系统都会默认打开三个流FILE *fp=NULL; //FP 文件流指针fp=fopen(“hello.txt”,“w+”);if(fpNULL){perror();return -1;}stdin 0 默认分配的键盘 带缓存stdout 1 默认分配的屏幕 带缓存stderro 2 默认分配的屏幕 不带缓存标准io的接口 ANSI c标准文件操作管理内存清理函数:char buff[123];memset(&
2020-08-05 20:33:36
137
原创 linux 继续
shell编程:解释性的脚本语言 写好之后不需要编译 shell也是一门语言,有自己的编写规则1 新建一个shell文件,shell脚本语言的后缀.shvim xx.sh2 运行环境设置 代码的第一行一定要是 #!/bin/bash 声明shell类型bash shell#!/bin/shshell里的注释是#3 脚本语句的编写: shell指令+系统指令 //pwd ls cd 系统指令4设置可执行性 shell脚本默认是没有可知行权限的,在执行时需要给执行权限
2020-08-05 20:32:00
137
原创 shell学习日记
系统学习日记系统:shell语言: 解释性脚本语言 不需要编译就可以运行1 相关概念:操作系统:window 安卓 ios鸿蒙 linux作用:管理文件系统/内存分配/网络/设备管理内核的五大功能:1 文件管理2 网络管理3 内存管理4 设备管理5 进程管理函数:函数功能函数参数函数的返回值ubuntu安装1 安装真机 (开机直接运行的linux操作系统)2 安装双系统 (linux window)3 安装虚拟机第二天************目录类型:树状根目录
2020-07-30 20:20:09
886
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人