- 博客(88)
- 资源 (3)
- 收藏
- 关注
原创 【书单】0、如何读一本书
如何读一本书1、泛读什么是经典书藉?经典书藉一般性书藉2、粗读什么是粗读?如何粗读?阅读大纲后序借助工具3、精读什么是精读?信息分类如何精读?4、深读如何深读?深读内容5、读懂6、愚见掌握,内化目录,检索1、泛读什么是经典书藉? 对时代中遇到的问题能作出解答 符合时代发展 任何时代都能从中找出答案经典书藉 反复阅读 背诵精华部分一般性书藉 领略作者意图 依据兴趣进行阅读2、粗读什么是粗读? 目的导向 精准定位,
2020-12-28 14:15:22
731
原创 GDB工具详解
GDB 参考资料:http://www.cppblog.com/cuijixin/archive/2008/08/04/57964.html
2020-11-24 21:31:11
563
原创 GCC参数详解
生成.i文件,查看连接库 gcc -Ehello.c -o hello 编译生成指定运行文件 gcchello.c -o hello(默认创建为a.out) 编译时提示警告 gcchello.c -o hello -Wall 输出%e,以指数形式显示 例如:6.3e+23; static修饰局部变量 默认初始值为0, 随着程序的结束而结束 static修饰的全部变量,其他文件不能使用; 算术运算符 float、double不能取余 关系运算符...
2020-11-23 22:44:57
636
原创 VMware与XBox虚拟机对比?
1、付费情况:VMware收费,XBox免费;2、易用程度:相差不大;3、市面资料:VMware大于XBox;4、占用硬件资源:对于现在的电脑来说,差别不大;5、工具要跟公司一致;
2020-11-01 22:30:16
1529
原创 为什么学习Linux都推荐Ubuntu?
1、图形化界面,更像Windows;2、中文社区资源多;3、上手容易4、容易安装,达到装完即用;5、等等;附件:VMware下的Ubuntu安装包链接:https://pan.baidu.com/s/1ohF9bRSU1QDeVzn8S2TGdQ提取码:8ur9...
2020-11-01 22:26:56
532
原创 【3】Vim日日精进篇——————Vim查找、替换、复制、剪切命令
查找命令 /string 查找字符串 n:光标以下查找 N:光标以上查找 支持正则表达式查找 /^ln:查找以“ln”开头的行 /ln$:查找以“ln”结尾的行 替换命令 :s/str1/str2:将光标后面的str1替换成str2 :s/str1/str2/g:将光标所在行,所有的str1替换成str2 复制和剪切命令 y0:将光标到行首的字符拷入剪贴板 y$:将光标到行尾的字符拷入剪贴板 d0:将光标到行首的字符剪切至剪贴板 d$:将
2020-07-22 20:51:54
221
原创 【2】Vim日日精进篇——————行号显示/取消与默认显示行号
行号显示 :set number:显示行号 :set nonumber:取消显示行号 默认行号显示 创建一个.vimrc的配置文件 启动VIM时,当前用户根目录下的.vimrc文件会被自动读取 该文件可以包含一些设置甚至脚本 把.vimrc文件创建在当前用户的根目录下比较方便 创建命令为:vim~/.vimrc(.vimrc是配置文件,不能用其它名字代替) 文件内容:set number 保存退出:!wq 当前这个文本里面可以再添加些语法显示、背景、Tab键的设置等
2020-07-21 21:09:14
307
原创 【1】Vim日日精进篇——————光标命令
光标命令 方向键:移动一个字符,H、J、K、L等同于方向键←、↓、↑、→ :N:移动光标到第N行(N待定) 1G:移动光标到文件的第1行的行首 ==== Ctrl+Home G:-------------------------最后一行的行末 ==== Ctrl+End /************************************************************************************************************..
2020-07-21 20:55:37
206
原创 【0】Vim日日精进篇——————三种模式切换命令
Vim有三种模式 命令行模式 用户在进入Vim编辑文件时,默认为该模式, 插入模式 文本编辑,ESC键返回命令模式 底行模式 光标位于屏幕的底行,可以进入文件的保存、退出、查找、替换、列出行号等 /***************************************************************************************************************************************
2020-07-21 20:05:50
213
原创 【4】WiFi——————ESP8266 SDK编程 之 UDP通信
简述 总结: 文档资料: ESP8266 Non-OS SDK API参考 ESP8266技术参考手册 工具篇: 编译器:安信可一体化开发环境(Eclipse),需要安装JAVA环境 烧录工具:flash_download_tools_v3.6.6.zip http://wiki.ai-thinker.com/tools 固件 AT指令:通过串口发送AT指令(串口数据)到ESP8266 SDK编程:8266内部集成了32bit的处理器,通过SDK编程实现所需..
2020-07-13 23:07:37
3122
原创 【3】WiFi——————ESP8266 SDK编程 之 定时器
简述 ESP8266EX有两个定时器 软件定时器:任务中执行 硬件定时器:硬件中断源 软件定时器: 定时器的函数在任务中被执行, 优先级的关系,任务定时器会被其他任务中断,定时时间不准确 软件定时器设置前必须先关闭定时器,设置完毕后再打开定时器 如未调⽤用 system_timer_reinit,可⽀支持范围 5 ~ 0x68D7A3(5~6870947ms) 如调⽤用了了 system_timer_reinit,可⽀支持范围 100 ~ 0x689D0(1
2020-07-07 23:36:21
784
原创 【2】WiFi——————ESP8266 SDK编程 之 串口
总结: 无 文档资料: ESP8266 Non-OS SDK API参考 ESP8266技术参考手册 工具篇: 编译器:安信可一体化开发环境(Eclipse),需要安装JAVA环境 烧录工具:flash_download_tools_v3.6.6.zip http://wiki.ai-thinker.com/tools 固件 AT指令:通过串口发送AT指令(串口数据)到ESP8266 SDK编程:8266内部集成了32bit的处理器,通过SDK编程实现所需功能 .
2020-07-06 22:56:56
743
原创 【1】WiFi——————ESP8266 SDK编程 之 GPIO输入、输出、中断模式
简述 GPIO ESP8266共计17个I/O管脚,每个GPIO都可使能内部上拉/下拉(XPD_DCDC只有下拉) IO管脚是双向、非反相和三态的; 输入模式 输出模式 中断模式 上升沿触发 下降沿触发 双沿触发 低电平 高电平 Flash接口 四线模式:6个IO口用于Flash通讯 两线模式:4个IO口用于Flash通讯 例程 输出模式 void ICACHE_FLASH_ATTR
2020-07-05 23:34:44
896
原创 【2】Linux——————必须掌握的Linux常用命令2/2
常用命令 工作目录切换命令 pwd命令 格式:pwd[选项] 作用:用于显示启用当前所处的工作目录 例程:pwd cd命令 格式:cd[目录名称] 作用:切换工作路径 例程:cd ../ ls命令 格式:ls[选项][文件] 作用:显示目录中的文件信息 例程:ls -l 文本文件编辑命令 cat命令 格式:cat[选项][文件] 作用:查看纯文本文件(内容较少) .
2020-06-28 21:02:52
232
原创 【1】Linux——————必须掌握的Linux常用命令1/2
Shell简述 Linux系统中也有图形化界面,图形化界面是为完成某些特定工作,而调用的脚本程序,相较于命令行更加消耗系统资源 ; Shell是一个命令行工具,用户通过终端(ctrl+alt+t)输入相应命令,完成某些工作; 主流的Linux系统选择Bash解释器作为命令行终端 命令行优势: 上/下方向键来调取过往执行过的Linux命令(或者调用history命令,查询历史命令) 命令或者参数仅需要输入前几位就可以用TAB键补全(相当于常用的代码补全功能) 批处理脚本 环
2020-06-28 20:40:13
337
原创 【0】WiFi——————ESP8266 SDK 之 介绍与程序编译、下载
总结: 此字节设置,选择内部时钟,PWM 选项字详细描述请参阅芯片手册P41 工具篇: 有两种开发工具: ST Visual Develop Version 4.3.2 IAR 参考资料: 风驰开源STM8寄存器版本例程 STM8中文参考手册 STM8数据手册 STM8S库函数中文参考.exe 程序 库函数 寄存器(本笔记依据寄存器编写) ...
2020-06-28 00:03:29
427
原创 【0】Linux——————Ubuntu系统安装
安装过程 略 网上大把资料,参考资料里面有详细文章介绍 硬件环境: 略 软件版本 VMWare 版本:VMWare WorkStation 10.0.2 Ubuntu 版本:Ubuntu 10.04.01 LTS 参考资料 《安装 VMWare 软件和虚拟机 ubuntu 系统》 朱有鹏 《Linux就该这么学》刘遄 软件下载 链接: https://pan.baidu.com/s/1LWfqLRr3ewa-aq_Pd9w-6w 提取码: ncun ht..
2020-06-27 21:34:46
222
原创 【7】STM8——————8S 选项字节
总结: 无 工具篇: 有两种开发工具: ST Visual Develop Version 4.3.2 IAR 参考资料: 风驰开源STM8寄存器版本例程 STM8中文参考手册 STM8数据手册 STM8S库函数中文参考.exe 程序 库函数 寄存器(本笔记依据寄存器编写) ...
2020-06-21 23:34:22
607
原创 【6】STM8——————8S 关于打开与进入中断函数的说明
简述: 打开与关闭全局中断: asm("rim"); //开全局中断 asm("sim");//关全局中断 用STVD新建工程后,左侧项目目录树中自动增加2个文件main.c,stm8_interrupt_vector.c文件,后者提供了STM8所有的中断入口函数地址表 stm8_interrupt_vector文件的功能: 中断函数入口 默认中断函数入口是一样的,需要我们自己找到相应中断修改入口名 中断函数的声明 默认@far @interrupt void
2020-06-16 22:27:49
2558
原创 【5】STM8——————8S GPIO操作
总结: 如果用库函数配置系统时钟相对简单: CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8); 设置为内部时钟,不分频,系统时钟:16M; 寄存器配置系统时钟 CLK_CKDIVR &= 0x00;//不分频 8S默认使用内置时钟 工具篇: 有两种开发工具: ST Visual Develop Version 4.3.2 IAR 参考资料: 风驰开源STM8寄存器版本例程 ...
2020-06-15 23:16:32
1851
原创 【4】STM8——————8S时钟篇
简述: 8S系统默认时钟为内部16Mhz,8分频; 设为内部时钟:只需调整分频值即可; 设为外部时钟:待验证; 主时钟源分类: 1-24MHz高速外部晶体振荡器(HSE) 最大24MHz高速外部时钟信号(HSE user-ext) 16MHz高速内部RC振荡器(HSI) 128KHz低速内部RC(LSI) 各个时钟源可单独打开或关闭,从而优化功耗; 时钟源切换----详见《STM8S微控制器参考手册---P47》 手动切换 软件设置时钟源切换;
2020-06-12 22:32:09
1402
1
原创 【3】STM8——————准备篇
芯片篇: STM8分为三个系列: 8A 汽车级应用 8S 标准级应用 8L 超低功耗应用 此次平台选用: 8S系列之----STM8S003F3P6 SSOP20 功能简介: 8位,8K Flash, 1K RAM, 便宜,功能齐全, 内部16Mhz(默认HIS/8)、外部(1~24Mhz)、内部RC(128K) 6路16位PWM输出 输出.hex文件 Project ---> Proj
2020-06-10 23:37:59
1531
原创 【2】STM8——————STVD+Cosmic编译环境下查看代码的实际长度
下载“stvd代码大小显示工具” 将上面的软件放在COSMIC编译软件的安装目录 默认的是C:\Program Files\COSMIC\CXSTM8 打开一个stm8工程,右键选择stm8l工程名,在弹出的快捷菜单中选择Setting选项,在弹出的工程选项设置中找到post-build选项卡,在commands输入框中增加一行:size $(OutputPath)$(TargetSName).map 备注:size后面有一个空格,不然编译会报错; 重新编译(选择Rebuild All),即
2020-06-10 23:28:49
844
原创 【1】STM8——————STVD 编译时提示can not openfile crtsi0.sm8
用STVD+COSMIC编译工程时出现以下错误:#error clnk Debug\demo.lkf:47 can’t openfile crtsi0.sm8#error clnk Debug\demo.lkf:60 can’t openfile libis0.sm8#error clnk Debug\demo.lkf:61 can’t openfile libm0.sm8解决方法:打开STVD软件,选择Tools-> Options -> Directories -> Show
2020-06-03 21:45:02
1168
1
原创 【0】STM8——————STVD编译工具安装与程序下载
1、安装STVD,在ST的官网下载。STVD只支持汇编开发,C语言开发需要安装COSMIC C編譯器,单独下载。2、到COSMIC官网下载COSMIC C for STM8:http://www.cosmic-software.com/download.php#stm8对于stm8可以使用32K免费使用权限,每台电脑是1年,以及16K的限制权限。需要使用邮件获取license.lic文件(必须使用邮件或在线获取,其他方法会不成功)。3、在STVD添加COSMIC编译器,选择Tools-&
2020-06-03 21:44:41
6050
原创 【0】工具——————UDP抓包分析
UDP简述: https://blog.youkuaiyun.com/Linux_ARM9/article/details/106008881 报文格式: 如图所示 抓包工具 wireshark 抓取一个UDP包 UDP数据包组成 Frame:帧信息 Ethernet:以太网信息,有源MAC与目的MAC Internet:因特网信息,有源IP与目的IP User Datapram Protocol:用户数据报协议,也就是UDP协议,里面有源端口号和目的端口号 Art-
2020-05-20 22:21:43
1187
原创 【2】嵌入式TCP/IP协议——————RAW接口UDP实验
简述 UDP概述之前已经写过,请参阅:https://blog.youkuaiyun.com/Linux_ARM9/article/details/106008881 此处只写实验例程 UDP层函数关系 RAW中与UDP相关的函数 udp_new();新建一个UDP的PCB块 udp_remove();将一个PCB控制块从链表中删除,并且释放这个控制块的内存 udp_bind();为udp的PCB控制块绑定一个IP地址和端口号 udp_connect();连接到指定IP地址...
2020-05-15 23:26:48
1019
原创 【2】嵌入式TCP/IP协议——————LWIP无系统移植
例程 无 下载验证 无 总结 无 参考资料: 正点原子《STM32F767开发指南(HAL库版)》 正点原子《STM32F767 LWIP手册》 野火《STM32 HAL库开发实战指南》 野火《LWIP应用开发实战指南》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 LWIP版本 lwip-2.1.2 ...
2020-05-14 23:12:41
1554
1
原创 【14】、STM32F767——————>内存管理
简述 内存管理是指运行时对计算机内存资源的分配和使用的技术 其目的是如何高效、快速的分配,并且在适当的时候释放和回收内存资源 内存管理函数只有两个:内存申请malloc(),内存释放free() 分块式内存管理 框图 组成: 内存池 内存管理表 内存池被等分为n块,对应的内存管理表,大小也为n,内存管理表的每一个项对应内存池的一块内存 内存管理表项值意义:项值为0,表示对应的内存块未被占用,非0,己占用 分配方向:顶->底,即首先从末端开.
2020-05-13 22:14:14
840
原创 【0】嵌入式TCP/IP协议————>LWIP介绍
介绍 总结 略 参考资料 野火《LWIP应用开发实战指南》 正点原子《STM32F767 LWIP手册》
2020-05-08 23:22:10
333
原创 【0】TCP/IP协议之————>UDP
简述 UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是一种无连接、不可靠的协议 是OSI(Open System Interconnection,开放式互联系统)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务 UDP是一个简单的数据报的传输层协议 应用层给UDP多长的报文,UDP就照样发送,即一次发一个完整报文 特点 无连接,时间上不存在建立连接需要的时延,速度快 没有拥塞机制,只管发,容许数据丢失(视频直播) 一对
2020-05-08 23:09:18
389
原创 【15】uC/OS-III应用开发————目录
uC/OS-III的几个重要特性 移植uC/OS-III到STM32F767 创建任务(STM32F767) 启动流程 任务管理 消息队列 信号量 互斥信号量 事件 软件定时器 任务信号量 任务消息队列 RAM内存管理 异常与中断管理 CPU利用率及堆栈检测统计...
2020-05-07 23:31:46
213
原创 【13】uC/OS-III应用开发————>CPU利用率及堆栈检测统计(STM32F767)
下载验证 总结 uC/OS支持中断嵌套,即当前中断可以被更高优先级中断打断 在OS中,很多时候我们会主动进入临界段,系统不允许当前状态被中断打断 进入与退出时需要调用OSIntEnter()和OSIntExit(),方便中断嵌套管理 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC...
2020-05-07 23:24:38
1659
1
原创 【12】uC/OS-III应用开发————>异常与中断管理(STM32F767)
简述 下载验证 总结 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-II原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 uC/OS-III版本...
2020-05-06 23:40:22
383
原创 【11】uC/OS-III应用开发————>RAM内存管理(STM32F767)
简述 在嵌入式系统中,内存分配应根据系统特点选择使用 动态内存分配算法:普通业务系统,动态内存上限取决于硬件,使用效率高 静态内存分配算法:可靠性非常高的系统,需要考虑内存上限,使用效率低 uC/OS内存管理是采用内存池的方式进行管理 静态划分一大块连续空间做为内存管理的空间,内部划分若干块 使用的时候就从内存池中获取内存块,使用完将其放回 核心机制: 内存池...
2020-05-05 23:31:54
631
原创 【10】uC/OS-III应用开发————>任务消息队列(STM32F767)
简述 下载验证 总结 参考资料: 正点原子《STM32F767 UCOS开发手册》 野火《uC/OS-III内核应用与开发》 《嵌入式实时操作系统uC/OS-II原理及应用(第二版)》 官方源码 硬件平台: 正点原子阿波罗F767 软件平台: MDK5.2.5 库版本: TM32Cube_FW_F7_V1.4.0 uC/OS-III版本...
2020-05-05 22:00:28
377
原创 【9】uC/OS-III应用开发————>任务信号量(STM32F767)
简述 uC/OS提供任务信号量这个功能,每个任务都有一个32位(用户自定义位宽)的信号量值SemCtr,这个信号量值在任务控制块中包含的,是任务独有的一个信号量通知值 多数情况下,任务信号量可以替代内核对象的二进制信号量、计数信号量 特点 任务信号量更加灵活、速度快、节省RAM、无需单独创建信号量 只能有一个任务接收信号,必须指定接收信号量的任务,才能正确发送信号量, 相关...
2020-05-04 23:52:19
594
原创 【8】uC/OS-III应用开发————>软件定时器(STM32F767)
简述 定时器:是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户可以自定义定时器的周期与频率 分类: 硬件定时器: 芯片本身提供的功能 每次在定时时间到达之后就会自动触发一个中断,用户在中断中处理信息 软件定时器: 由操作系统提供的一类系统接口,构建在硬件定时器(SysTick)基础上 软件定时器指定时间到过后要调用的函数(也称超时函数/回调...
2020-05-03 23:17:57
469
原创 【7】uC/OS-III应用开发————>事件(STM32F767)
简述 事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输 可以实现一对多,多对多的同步,即一个任务可以等待多个事件的发生 事件仅用于同步,不提供数据传输功能 允许多个任务对同一事件进行读、写操作 事件无排队性,即多次向任务设置同一事件(如果任务还未来得及读走),等效于只设置一次 事件不与任务相关联,事件相互独立,一个32位的...
2020-05-03 15:07:06
266
STVD+Cosmic编译环境下查看代码的实际长度.zip
2020-06-10
33个毕业设计单片机类.rar
2013-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人