- 博客(29)
- 收藏
- 关注
原创 Json基础
Json是什么JSON 或者 JavaScript 对象表示法是一种轻量级的基于文本的开放标准,被设计用于可读的数据交换。约定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。JSON 是 JavaScript Object Notation 的缩写。这个格式由 Douglas Crockford 提出。被设计用于可读的数据交换。它是从 JavaScript 脚本语言中演变而来。文件名扩展是 .json。JSON 的网络媒体类型是 applicatio
2021-01-19 22:17:20
302
原创 【Linux基础】Makefile基础入门
基础Makefile规则和样例展示/基础的makefile样例/目标:依赖命令//单文件编译mian.o:main.c gcc -c mian.c -o mian//多文件编译mian.o:main.c mian.h include.h gcc -c mian.c main.h include.hclean: rm *.o xxx基础升级版Makefile规则...
2019-11-10 10:12:46
337
原创 VMware虚拟机看不到共享目录
VMware虚拟机看不到共享目录确认VMtools已经装好,开启共享文件夹,设置好共享目录执行命令 sudo mount -t vmhgfs .host:/ /mnt/hgfs如果出现错误: Error: cannot mount filesystem: No such device使用: vmhgfs-fuse .host:/ /mnt/hgfs用vmware-hgfscli...
2019-10-20 18:52:37
3021
原创 notepad++注释快捷键
notepad++注释快捷键快捷键如下:单行、多行注释 //方式 :ctrl+k区块注释 / * */方式 :ctrl+q取消单行、多行、区块注释 :ctrl+shift+k...
2019-09-07 16:01:22
3066
原创 Linux 交叉编译器环境搭建和验证
解压文件下载gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2解压 $ tar -jxvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2解压完成出现同名文件夹:gcc-linaro-arm-linux-gnueabihf-4...
2019-08-30 23:25:38
1328
原创 FreeRTOS基础教程4:FreeRTOS任务管理和相关说明
FreeRTOS基础教程3:FreeRTOS任务管理和STM32F103LED演示
2019-08-05 22:19:16
318
原创 FreeRTOS基础教程:FreeRTOS系统实时状态获取
为了更好的跟踪查看FreeRTOS系统的运行情况方便我们对系统运行的进一步了解,FreeRTOS系统自带了系统实时状态查询的函数vTaskList 和 vTaskGetRunTimeStats,分别用于查看系统任务的运行状态,任务栈的使用情况和CPU利用率等消息。如何实现打开相关的宏定义FreeRTOSConfig.hFreeRTOSConfig.h/* Debug Fre...
2019-08-04 18:49:34
1920
原创 FreeRTOS基础教程1:FreeRTOS移植到STM32F103和LED演示
FreeRTOS_Transplant_Blinks Readme该工程主要用于介绍FreeRTOS移植过程,并建立2个Led任务运行来演示移植成功移植过程中FreeRTOS移植到工程的过程在此滤过,详情百度一下。工程建立完成后将中断和时钟相关宏放置在FreeRTOSConfig.h文件中,这里是关键 /* Definitions that map the FreeRTOS...
2019-07-18 19:45:51
1164
转载 FreeRTOS 移植过程中Interrupt handlers
在Cortex M使用FreeRTOS时,建立工程项目,经常会应为start_xxx.s与port.c、portasm.s中的中断函数名不同困惑:是在start_xxx.s修改为:vPortSVCHandler/xPortPendSVHandler/xPortSysTickHandler?还是在port.c、portasm.s 修改为SVC_Handler/PendSV_Handler/SysTi...
2019-07-16 22:25:26
651
原创 vim-plug的使用方法
vim-plug介绍Vim-plug 是一个自由、开源、速度非常快的、并行地安装或更新插件,极简的 vim 插件管理器插件获取https://github.com/junegunn/vim-plug插件安装将vim-plug直接手动放在C:\Program Files (x86)\Vim\vimfiles\autoload或者直接GIT到自己的管理目录git clone...
2019-06-23 13:22:31
18795
原创 Ubuntu16.04.3常用工具,环境设置,常用操作
1:软件更新源http://blog.youkuaiyun.com/paincupid/article/details/52895676修改/etc/apt/sources.list文件,用下面的地址替换原来的官方默认地址deb cdrom:[Ubuntu 16.04 LTS Xenial Xerus - Release amd64 (20160420.1)]/ xenial main restrict...
2019-05-22 12:25:39
352
原创 转义字符
转义字符所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。https://baike.baidu.com/item/转义字符/86397?fr=aladdinat+ipstart=0,“TCP”,“12.12.110....
2019-05-17 21:54:05
687
原创 memset
void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 [1] 。memset()函数原型是extern void *memset(vo...
2019-05-17 21:53:18
989
原创 关于字,半字,字节之间的关系
一直搞不清楚字,半字,字节之间的关系,查了一下资料,明白了。字,半字,字节 大小是根据不同的操作系统来说的,32位系统1字 —>32bit半字 —>16bit字节 —>8bit64位系统1字 —>64bit半字 —>32bit字节 —>16bit...
2019-04-04 15:16:46
6062
1
转载 求模求余
/ 求余% 取模-返回除法的余数余数是整数除法中被除数未被除尽部分,余数的取值范围为0-除数(不包括除数)的整数eg:27%6 商数为4,余数为3若被除数小于除数,则商为0,余数为被除数本身。eg:1%2 商数为0,余数为1;2%3 商数为0,余数为2...
2019-03-30 18:59:24
1458
原创 Altium09启动时就停止在封面
Altium09启动时就停止在封面不动了,设备管理器里提示未响应,解决办法如下:删除这个目录C:\Users\Administrator\AppData\Roaming\AltiumDesignerSummer09,软件会自动生成生成目录,问题解决了。...
2019-02-25 10:29:28
1016
原创 Vim/gVim 中文显示为乱码的解决办法
打开vimrc文件,在vim的安装目录下可以找到该文件,或在windows下是在vim/gvim下输入:edit $vim/_vimrc。在文件的末尾添加一句 “set fileencodings=utf-8,gbk,big5”就可以了。在vim/gvim下中文可以正常显示,同时gvim的菜单和其他中文提示也不会变成乱码。...
2018-08-03 09:13:57
1241
2
原创 Ubuntu 出现apt-get: Package has no installation candidate问题解决办法
apt-get install tftpd tftp openbsd-inetd提示apt-get: Package has no installation candidate 解决方法如下: 先检查虚拟机网络是否NAT模式,不是则设置,然后重启虚拟机。运行如下命令:# apt-get update# apt-get upgrade# apt-get install <pac...
2018-04-27 17:13:15
5870
原创 第一个linux helloWorld驱动编译和常见问题解决
最简单的hello驱动,在make的时候出现了“empty variable name”,最后是如下原因:在Makefile中有如下一句话,出现这个错误的原因是“=”左边多了一个空格 make -C $(LINUX_SRC) SUBDIRS=$(shell pwd) modules如果在”=”右边多一个空格,则会出现另外的错误: *** Error during update of the k
2018-04-07 17:19:20
1517
转载 linux驱动开发流程和方法
方法一: 将驱动编入内核的方法。 手把手教你写第一个Linux驱动程序 https://blog.youkuaiyun.com/morixinguan/article/details/54620088 方法二: 简单实例讲解linux的module模块编译步骤 https://blog.youkuaiyun.com/yu132563/article/details/51227804Linux驱动一般以模块...
2018-04-07 15:05:49
8097
原创 远程 sshd提示:Server unexpectedly closed network connection
[root@xx]# vim /etc/ssh/sshd_config //修改端口为3330 [root@xx]# iptables -I INPUT -p tcp –dport 3330 -j ACCEPT //添加防火墙3330端口 允许 [root@xx]# service iptables save //保存规则 [root@xx]# service ssh restart
2018-01-10 15:27:03
34649
1
原创 STM32 BOOT引起硬件死机
STM32的三种启动方式依靠BOOT0和BOOT1两个引脚的电平来决定,ST官方推荐的是串联10k电阻然后在接高电平或接地。我用0R直接接地的,没有串联10k电阻,造成STM32的硬件死机。在实际的应用中耽误不少时间,切记!
2017-11-08 11:14:53
3134
1
原创 结构体
1:什么是结构体把一些复杂的数据组合在一起形成新的复合数据类型,叫做结构体。2:为什么要有结构体?为了表示一些复杂的事物,而普通的基本类型无法满足实际的应用需求。3:结构体的基本格式struct 结构名称 { 结构体参数列表; }比较好的应用方式就是将结构体变量定义在函数中,使程序更容易移植,耦合性更低。4:怎么定义一个结构体和结构体的3种格式/* 第一种方式:定义
2016-08-31 22:06:06
434
转载 《电磁兼容的印制电路设计》-第一章 概述
第一章 概述1.1 基本定义抑制:阻止射频电磁能量向外发射的方法和措施。电磁兼容(EMC):电磁干扰(EMI):电磁干扰就是缺少相容性,射频(RF):是为了达到通信目的使用的电磁能量发射的频率范围。 a:辐射发射: b:传导发射:导线干扰:与电源板或者AC供电线有关的射频能量。抗扰度:设备或者系统在达到预定性能的情况下耐受环境中EMI的能力度量。静
2015-11-26 16:21:51
573
原创 Altium Designer软件技能汇总(持续更新)
Altium Designer软件技能汇总一:AltiumDesigner 总线式布线的方法“SHIFT + 鼠标左键”选择要被布线的网络,焊盘或则线。快捷键“P + M”启动布线.(或者选择菜单Place\interative Mult-Routing)。按照 单根走线的方式完成走线。如果走线从焊盘处开始,快捷键“,”和“.”键开收缩和散开布线。“Tab”键来设定走线中心距离。二:显示
2015-11-08 21:59:59
944
转载 硬件设计--PCB布局的规则
PCB布局的规则布局的基本原则电路板边缘的元器件,距离板边不小于2mm,电路板最佳形状为矩形.长:宽=3:2或则4:3.布置原则–”先大后小,先难后易”即重要单元电路,核心元器件赢优先布局.参考原理框图,根据单板的主信号流向规律安排主要元器件.以每个功能电路的核心元件为中心,围绕它进行布局.元器件应,均匀,整齐,紧凑的排列在PCB上.尽量减少额缩短个元器件之间的 引线和连接.相同结构的电路
2015-11-08 21:57:37
2181
转载 指针的6种操作
指针的6种操作int main(void){ int urn[5] = {100, 200, 300, 400, 500}; int * ptr1, * ptr2, * ptr3; ptr1 = urn; ptr2 = &urn[2]; //指针的赋值 printf("pointer value, dereferenced pointer addre
2015-06-07 21:32:19
831
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人