自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 资源 (6)
  • 收藏
  • 关注

原创 VS 中得到时间字符串

//[2020-01-01 08:12:15:123]CString GetTimeString(){ CString s; s = ""; SYSTEMTIME st; CString strDate, strTime; GetLocalTime(&st); strDate.Format("[%4d-%02d-%02d ", st.wYear, st.wMonth, st.wDay); strTime.Format("%02d:%02d:%02d:%03d]",st.wHours

2021-05-10 21:18:58 2

原创 keil4.72 Git忽略文件

1. 新建.gitignore文件,以下为.gitignore文件实际内容*.map*.htm*.lnp*.plg*.sct*.lst*.iex*.axfJLinkLog.txt*.dep*.crf*.o*.d*.__i*.bak.uvgui2. 说明2.1 如果使用Jlink调试过,设置过调试参数、例如烧录算法之类,则不能把JLinkSettings.ini加入到.gitignore文件中2.2 *.uvopt 包含工程文件夹打开状态、文件打开状态等其他信息2.3

2021-05-10 21:17:14 2

原创 git 修改.gitignore后生效

#清除缓存git rm -r --cached .

2021-05-10 21:16:08 1

原创 GT21L16S2W特殊字符计算地址

收录GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,这导致了后来GBK及GB 18030汉字字符集的出现。分区表示GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。

2021-05-10 21:15:23 2

原创 MFC 改变STATIC控件字体颜色

1. 控件窗口函数2. 代码class CTestDlg : public CDialogEx{...public: int setFlag; CFont newFont; void OutputStatic(UINT nID,BYTE dat,int timeout);...}BOOL CTestDlg::OnInitDialog(){ //设置效果 setFlag = 0; newFont.CreatePointFont(300, "Arial", NULL); (

2021-04-24 21:49:16 3

原创 keil4.72 自带jlink驱动升级到V6.94b

keil4.72自带的Jlink驱动提示找不到GD32F103VC把最新Jlink驱动复制到keil目录的Segger目录下

2021-04-24 21:44:53 16

原创 TF卡有写保护放在小方摄像头中不识别

复制一个文件进去,正常格式化后放进小方摄像头,还是无法识别SD卡,重新接到PC,用SDFormatter工具再格式化后就可以了。

2021-04-24 21:23:41 8

原创 Cortex-M3内核Systick定时器与优先级详解

SysTick定时器(系统滴答定时器)是一个倒计时定时器,被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。SysTick

2021-04-06 21:48:12 28

原创 AD rule

1. 丝印与焊盘之间间距规则Silkscreen Over Component Pads Constraint(丝印与焊盘):改为1mil2. 焊盘与焊盘之间间距规则Minimum Clearance(最小间距):10mil改为6mil或更小3. 阻焊之间间距规则Minimum Solder Mask Sliver:10mil改为1mil4. 丝印与丝印之间间距规则Silk To Silk Clearance Constraint:改为1mil...

2021-04-05 21:58:54 24

原创 AD隐藏room

在room上右键,Options->Show/Hide

2021-04-05 10:48:35 41

原创 AD修改丝印字体

1. 选中一个丝印,右键,“Find Similar Objects”2. 修改字体和大小

2021-04-05 09:29:50 109

原创 keil4.72添加GD32F10x芯片

1. 下载GD32F10x_AddOn_V2.0.1.rar,解压缩。2. 安装运行GigaDevice.GD32F10x_AddOn.2.0.0.exe安装位置再新建工程,发现已经有GD32F10x3. 增加的文件分析运行GigaDevice.GD32F10x_AddOn.2.0.0.exe后,在keil文件夹种增加文件如下:...

2021-04-01 21:23:00 72

原创 FM33G0xx定时器实现10us倍数精确延时

时钟24MHz,实现10us倍数延时void Test_Etimx(ETIMx_Type* ETIMx, uint32_t xus){ ETIM_InitTypeDef init_para; volatile uint8_t EtimNum; EtimNum = (uint8_t)(((uint32_t)ETIMx - ETIMER1_BASE)>>5); //信号源参数 init_para.sig_src_para.SIG1SEL = ETIMx_ETxINSEL_SIG

2021-04-01 21:18:13 25

原创 33. 定时器按键消抖实验

一、定时器按键消抖简介当按键按下以后,进入到中断服务函数中,开始一个定时器,定时周期位10ms,只有最后一个抖动信号开启的定时器才能完成的执行完一个周期。当定时器产生周期中断以后就在中断服务函数里面做具体的处理,比如开关蜂鸣器。二、实验原理简介三、实验程序编写//bsp_epitimer.c#include "bsp_epittimer.h"#include "bsp_int.h"#include "bsp_led.h"/* * @description : 初始化EPIT定时器.

2021-03-23 22:27:54 22

原创 32. EPIT定时器实验

一、EPIT简介1、EPIT是32位的一个向下计数器。2、EPIT的时钟源可以选择,我们选择ipg_clk=66MHz。3、可以对时钟源进行分频,12位的分频器,04095分别代表14096分频。4、开启定时器以后,计数寄存器会每个时钟减1,如果和比较寄存器里面的值相等的话就会触发中断。EPIT有两种工作模式:Set-add-forget,一个是free-runing5、6ULL有两个EPIT定时器。EPIT_CR寄存器用于配置EPIT。二、实验原理简介EPIT_CR bit0为1,设置

2021-03-23 22:25:19 8

原创 31. GPIO中断实验

一、回顾STM32中断系统1、STM32中断向量表ARM芯片从0X00000000开始运行,执行指令。在程序开始的地方存放着中断向量表。中断向量表主要功能是描述中断对应的中断服务函数。对于STM32来说代码最开始的地址存放堆栈栈顶指针。2、中断向量偏移一般ARM从0X000000000地址开始运行,对于STM32我们设置连接首地址为0X8000000。如果代码一定要从0X8000000开始运行,那么需要告诉一下soc内核。也就是设置中断向量偏移。设置SCB的VTOR寄存器为新的中断向量表起始地址

2021-03-23 22:22:45 57

原创 30. 主频和时钟配置实验

一、硬件原理图分析1、32.768khz的晶振,共给RTC使用。2、在6U的T16和T17这两个IO上接了一个24MHz的晶振。二、I.MX6U系统时钟分析1、7路PLL为了方便生成时钟,6从24MHz晶振生出来7路PLL。这7路PLL中有的又生出来PFD。PLL1:ARM PLL供给ARM内核。PLL2:sysytem PLL,528MHz,528_PLL,此路PLL分出了4路PFD,分别为PLL2_PFD0~PFD3PLL3: USB1 PLL,480MHz 480_PLL,此路PLL分

2021-03-23 22:15:42 13

原创 Windows+VSCode+gcc+Cygwin Make实现STM32F030编译

1. 下载与安装Cygwin MakeCygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。https://cygwi

2021-03-23 22:09:43 13

原创 虚拟机ubuntu下ls 识别不出sd*形式

在ubuntu图形界面下可以识别SD卡,但使用ls /dev/sd* 识别不出SD卡。1.使用tf转SD卡套,接在笔记本的SD卡槽中,识别成/dev/mmcblk0p12. 使用tf转usb读卡器后,可以识别成sd*形式

2021-03-21 11:25:50 14

原创 JFlash烧录不知名的ARM芯片

如何添加新芯片,参考的资料为UM08001_JLink.pdf中的第12章——Open Flashloader。12.1简介随着可用设备的数量稳步增长,有时还处于早期阶段在MCU开发阶段,只有少数样品/电路板可用,可能不可用提供给第三方(如SEGGER)以增加对新设备的支持。还有存在的设备可能具有机密状态,因此可能不会被提及为受支持还没有公开发行。因此,最好能够添加对新应用程序的支持您自己的设备,而不依赖SEGGER和新版本的J-Link软件包。J-Link DLL允许客户自己添加对新设备的支持。它也

2021-03-15 21:01:37 54

原创 29. 按键输入实验

一、硬件原理图分析按键KEY0链接到了UART1_CTS引脚上。默认情况下UART1_CTS为高,当按下KEY0以后UART1_CTS为低。二、实验程序编写1、设置UART1_CTS复用为GPIO1_IO182、设置UART1_CTS的电气属性。3、配置GPIO1_IO08为输入模式。4、读取按键值,也就是GPIO1_IO08的高低电平三、加上清除BSS段,代码不运 行__bss_start = 0X87800289。对于32位的SOC来说,一般访问是4字节访问的。0X0,0X4,0X8,0

2021-03-15 20:55:58 33

原创 28. BSP工程管理实验

一、BSP工程管理原理BSP工程管理的目的就是为了模块化整理代码,同一个属性的文件存放在同一个目录里面。1、新建所需的文件夹,将同一属性的文件放到相应的文件夹中。2、修改clk、led、delay驱动,创建对应的驱动文件,然后放置到对应的目录中。3、根据编写的新驱动文件,修改main.c文件内容。设置VSCODE头文件路径。先创建.vscode目录,CTRL+SHIFT+P>C/C++:EDIT然后打开c/c++配置器,会在.vscode目录下生成一个叫做c_cpp_properti

2021-03-15 20:53:32 7

原创 27. NXP官方SDK使用实验

1、安装I.MX6ULL SDK包SDK_2.2_MCIM6ULL_RFP_Win.exe2、新建cc.h文件SDK包里面会用到很多数据类型,所以我们需要在cc.h里面定义一些常用的数据类型。3、移植文件nxp\SDK_2.2_MCIM6ULL\devices\MCIMX6Y2需要移植的文件fsl_common.h、fsl_iomuxc.h、MCIMX6Y2.h。设备为MCIMX6Y24、实际代码//main.c#include "fsl_common.h"#include "fsl_i

2021-03-15 20:51:38 25

原创 26. 模仿STM32驱动开发实验

一、STM32寄存器结构体详解对于STM32而言,使用一个结构体将一个外设的所有寄存器都放到一起。二、修改驱动1、添加清除bss段代码2、添加寄存器结构体在结构体中添加寄存器的时候一定要注意地址的连续性,如果不连续的话要添加占位。3、修改驱动//main.c#include "imx6ul.h"/* * @description : 使能I.MX6U所有外设时钟 * @param : 无 * @return : 无 */void clk_enab

2021-03-15 20:50:10 18

原创 25. C语言版本LED驱动实验

一、C语言运行环境构建1.1、设置处理器模式设置6ULL处于SVC模式 下。设置CPSR寄存器的bit4-0,也就是M[4:0]为10011=0X13。读写状态寄存器需要用到MRS和MSR指令。MRS将CPSR寄存器数据读出到通用寄存器里面,MSR指令将通用寄存器的值写入到CPSR寄存器里面去。MRS R0, CPSR @将特殊寄存器 CPSR 里面的数据传递给 R0,即 R0=CPSRbic r0, r0, #0x1f /* 将 r0 的低 5 位清零,也就是 cpsr 的 M0~M4 */

2021-03-07 10:41:15 18

原创 24. IMX启动方式

一、硬件启动方式选择1、启动方式的选择LED灯实验,是从SD卡读取bin文件并启动,说明6UL支持从SD卡启动。6ULL支持多种启动方式。6ULL是怎么支持从多种外置flash启动程序的。(1)、启动方式选择BOOT_MODE0和BOOT_MODE1,这两个是两个IO来控制的。选择从USB启动还是内部BOOT启动。如果要烧写系统到开发板中可以选择从USB下载,下载到SD卡,EMMC、NADN等外置存储中。烧写完成设置从内部BOOT启动,然后从相应的外置存储中启动。(2)、选择启动设备2、启动设

2021-03-07 10:36:37 37

原创 22. 汇编LED驱动实验

一、汇编LED原理分析为什么要学习Cortex-A汇编:①、需要用汇编初始化一些SOC外设。②、使用汇编初始化DDR,I.MX6U不需要。③、设置sp指针,一般指向DDR,设置好C语言运行环境。1、·ALPHA开发板LED灯硬件原理分析:STM32 IO初始化流程:①、使能GPIO时钟。②、设置IO复用,将其复用为GPIO③、配置GPIO的电气属性。④、使用GPIO,输出高/低电平。I.MX6ULL IO初始化:①、使能时钟,CCGR0CCGR6这7个寄存器控制着6ULL所有外设时钟

2021-03-07 10:33:25 66

原创 22. VSCode软件安装

VSCode 支持多种语言,比如 C/C++、Python、C#等等,本教程我们主要用来编写 C/C++程 序的,所以需要安装 C/C++的扩展包,扩展包安装很简单,我们需要按照的插件有下面几个:1)、C/C++,这个肯定是必须的。2)、C/C++ Snippets,即 C/C++重用代码块。3)、C/C++ Advanced Lint,即 C/C++静态检测 。4)、Code Runner,即代码运行。5)、Include AutoComplete,即自动头文件包含。6)、Rainbow B

2021-03-07 10:27:20 22

原创 21. Ubuntu 交叉编译工具链安装

交叉编译器安装 ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译 器,我们在第三章“Linux C 编程入门”里面已经讲解了如何在 Liux 进行 C 语言开发,里面使 用 GCC 编译器进行代码编译,但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在 要编译的是 ARM 架构的代码,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就

2021-03-07 10:25:45 41 1

原创 20. Ubuntu 和 Windows 文件互传

开启 Ubuntu 下的 FTP 服务打开 Ubuntu 的终端窗口,然后执行如下命令来安装 FTP 服务:sudo apt-get install vsftpdsudo vi /etc/vsftpd.conf 打开以后 vsftpd.conf 文件以后找到如下两行:local_enable=YES write_enable=YES修改完 vsftpd.conf 以后保存退出,使用如下命令重启 FTP 服务:sudo /etc/init.d/vsftpd restartWind.

2021-03-06 14:22:37 59

原创 14. shell脚本条件判断、函数和循环

一、shell脚本条件判断shell脚本支持条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了。shell脚本提供了if then条件判断语句,写法if 条件判断 ; then //判断成立要做的事情fi还有if then else 语句,写法if 条件判断 ; then //条件判断成立要做的事情else //条件判断不成立要做的事情。fi或:if 条件判断 ; then //条件判断成立要做的事情elif [条件

2021-03-06 10:19:40 25

原创 13. shell脚本入门

一、什么是shell脚本我们已经能够熟练的在终端中输入命令来完成一些常用的操作,但是我们都是一条一条输入命令。这样会很麻烦,那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?肯定有,这个就是shell脚本!shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。shell脚本提供数组、循环、条件判断的等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可。二、sh

2021-03-06 10:15:55 16

原创 12. Makefile基本语法

Make 的执行过程:1、make 命令会在当前目录下查找以 Makefile(makefile 其实也可以)命名的文件。2、当找到 Makefile 文件以后就会按照 Makefile 中定义的规则去编译生成最终的目标文件。3、当发现目标文件不存在,或者目标所依赖的文件比目标文件新(也就是最后修改时间比 目标文件晚)的话就会执行后面的命令来更新目标。 这就是 make 的执行过程,make 工具就是在 Makefile 中一层一层的查找依赖关系,并执行 相应的命令。编译出最终的可执行文件。Makef

2021-03-06 10:09:38 10

原创 11. Linux C下使用Vim编程及Makefile引入

1、编写C程序使用VIM编辑器编写程序,也可以使用vscode、eclipse。1.1、设置vim编辑器设置vim编辑器,一个TAB=4个字节。设置vim编译器,显示行号。在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改。每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了,却无法保存,就只能放弃,然后退出,再以root权限打开,重新编辑。解决方案:底行命令模式执行::w !sudo tee %

2021-03-06 10:04:49 10

原创 10. vim编辑器

一、vim编辑器Linux系统都会自带vi编辑器,但是vi编辑器太难用了!所以建议大家安装vim编辑器,安装命令:sudo apt-get install vim二、vim编辑器三种工作模式vi xxx 使用vi编辑器打开文件。一般模式(指令模式):默认模式,用vi打开一个软件以后自动进入到此模式。编辑模式:一般模式中无法编辑文件,要编辑文件就要进入编辑模式,按下“i、I、a、A、o、O、s、r”等就会进入到编辑模式。一般按下“a”进入编辑模式。按下ESC键可退出编辑模式。命令行模式(底行

2021-03-06 09:59:59 10

原创 09. Linux连接文件

一、Linux连接文件Linux有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。二、ln命令ln命令用于创建连接文件:ln [选项] 源文件 目标文件选项:-s 创建符号链接(软连接)-f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文

2021-03-06 09:56:58 15

原创 Eclipse下国民技术Nationstech库安装

1. 用zip解压缩Nationstech.N32G45x_DFP.1.0.0.pack,提取到Nationstech.N32G45x_DFP.1.0.0文件夹。把Nationstech.N32G45x_DFP.1.0.0.pdsc 改为Nationstech.N32G45x_DFP.pdsc再压缩成Nationstech.N32G45x_DFP.1.0.0.zip,名称改为Nationstech.N32G45x_DFP.1.0.0.pack2. 复制库2.1 把Nationstech.N32G

2021-03-06 09:53:26 90

原创 Nucleo-H743ZI2+STM32CubeIDE+FreeRTOS+Lwip实现网络Ping功能

参考官方例子C:\Users\xxx\STM32Cube\Repository\STM32Cube_FW_H7_V1.8.0\Projects\NUCLEO-H743ZI\Applications\LwIP\LwIP_HTTP_Server_Netconn_RTOS\SW4STM32\STM32H743ZI_Nucleo注:xxx:你的账户名1. STM32CubeMx生成代码开启cacheSysLED灯ETHFreeRTOSLWIPUart32. main.c里添加M

2021-03-06 09:46:47 177 1

原创 08. Ubuntu文件权限管理

一、Ubuntu/Linux文件权限文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:r:读w:写x:可执行。文件描述形式如下:-rw-rw-r—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组权限、其他用户权限。可以使用二进制表示文件权限。r=4w=2x=1a文件信息:rwxr-xr-x,a所属用户拥有读写权限可执行权限(755)。组内其他用户拥有读权限无写、可执行权限,其他用户同组内其他用户。二、Ubu

2021-03-06 09:25:01 3

原创 07. Ubuntu用户与用户组

一、Linux用户Linux是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。 Ubuntu有三种用户:1、初次创建的用户。2、root用户3、普通用户。初次创建的用户权限比普通用户多,但是没有root用户多,初次创建的用户可以创建普通用户。Linux用户记录在/etc/passwd这个文件内。Linux用户密码记录在/etc/shadow这个文件内。每个用户都有一个ID,叫做UID。二、Linux用户组为了方便管理,将用户进行分组。这样就可以设置非本组人员不能

2021-02-25 22:43:13 6

jlink-v8 固件.zip

原厂固件, SN修改后的固件(不报克隆)

2021-02-25

sam-ba_2.12.exe.zip

sam-ba_2.12.exe

2021-02-25

MPLAB X IDE黑色主题插件

MPLAB X IDE黑色主题插件

2020-12-26

ServiceTest(Android创建服务实例图文实测)

Android创建服务实例图文实测,基于Eclipse, Android7, target=android-24 build-tools=25.0.2

2020-10-07

TrueSTUDIO中在flash指定位置保存常量

在TrueSTUDIO开发软件中如何实现在flash指定位置保存常量,使用官方文档“user_guide.pdf”修改多次不能实现。通过阅读“ld.pdf”以及网上该文档的翻译版本,历时2天,实现方法总结如下。

2020-01-05

windows-font.zip

WPS字体文件:symbol、wingdings、wingdings2、wingdings3、webdings

2020-02-13

空空如也

空空如也

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

TA关注的人 TA的粉丝

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