自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux - tftp

一.tftp介绍TFTP(Trivial File Transfer Protocol)即简单文件传输协议是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69可以在电脑做tftp服务器,开发板做客户端,做开发时,开发板直接从服务器下载代码进行运行,方便开发调试。服务器客户端.PNG二.tftp搭建1...

2023-05-23 21:24:15 519

原创 VCC、VDD、VSS以及VBAT的区别

原链接:https://blog.csdn.net/LemonLeeB/article/details/99417945在STM32 的学习中,发现有几种看起来相关的名称,分别是VCC、VDD、VSS、VBAT,在经过搜索查找之后,总结如下:1.VCC的C是Circuit的意思,是指整个供电回路的电压, 也有人说VCC是双极器件的正极2.VDD的D是Device的意思,指设备上的电压,我理解...

2022-12-28 11:45:44 457

原创 组播IGMP

一.什么是组播?1.一个发送(组播源),多个接收,接收的有个特点就是在同一个组播组里面,组播组有自己的IP2.对于组播源来说,发送命令到组播IP等于把命令发送到所有组成员,但并不知道成员的IP,发送的命令可能经过多个路由器才到成员那里。对于组播接收者来说,它能接收组播的前提是知道组播源所发送组播的组播IP地址。它也只干了一个事情,就是向上游路由器报告,我要接收目的地址是这个组播IP地址的流量...

2022-12-16 13:26:37 242

原创 LWIP_MDNS

一.mdns1.什么是mdns?mDNS协议适用于局域网内没有DNS服务器时的域名解析,设备通过组播的方式交互DNS记录来完成域名解析,约定的组播地址是:224.0.0.251,端口号是53532.Mdns和dns区别?Mdns只能用于局域网内部,只能解析主机名前缀为.local的域名,因此mDNS也是可以和DNS在同一台设备上共存的,以及它们存储记录的区域是分开的。除此之外,mDNS还有其它...

2022-12-09 10:45:08 402

原创 LWIP_DNS

一.域名1.域名是什么?域名就是平时上网所看见的网址,比如www.baidu.com。其中baidu.com就是域名。为什么发明域名?实际网络通信是通过IP地址通信,但是IP地址是一连串数字不方便记忆,就出现了域名。一个域名对应一个IP地址,说白了就是IP地址的注释。3.常见顶级域名有哪些?.com 商业机构 .edu 教育公共机构 .gov 政府机构 .org 非盈利组织 .us...

2022-12-08 10:45:01 144

原创 Linux-使用BalenaEtcher烧录镜像到SD卡

1.打开BalenaEther,选择镜像imx6ull-lubancat-carp-console-armhf-2022-10-08.img.xz2.已经自动识别SD卡3.点Flash!,进行烧录最后完毕4.拨码开关到SD卡启动模式,DS卡插入5.接上串口线,打开mobaxterm6.上电开发板,输入用户名debian密码temppwd,然后登陆...

2022-11-14 21:08:17 570

原创 Linux- 控制 LED 灯设备(LED 子系统)

C库方式/sys 目录用于把内核的设备驱动导出到用户空间,可通过访问 sys 目录及其下的文件,来查看甚至控制内核的一些驱动设备。硬件设备也是文件,通过打开对应的设备文件可以初始化设备,部分设备还可以通过读写设备文件实现对硬件的控制。下面对电脑的大写锁定LED灯进行闪烁操作#include <stdio.h>#include <stdlib.h>#includ...

2022-01-17 22:00:19 1026

原创 Linux-文件系统,文件操作

一.存储设备文件系统提到文件系统时, Windows 下的 FAT32、NTFS、exFAT 以及 Linux 下常用的 ext2、ext3 和 ext4 的类型格式。这些文件系统都是为了解决如何高效管理存储器EEPROM、Nor FLASH、NAND FLASH、eMMC 到机械硬盘空间的问题而诞生的。在 Linux 系统中,一切皆文件,它把一切资源都看作是文件,包括硬件设备,通常称为设备文...

2022-01-10 22:04:49 339

原创 Linux-Makefile(二)

#生成可执行文件的名称Target = file_demoARCH ?= x86#编译器 CC#根据传入的参数 ARCH,确定使用的编译器#默认使用 gcc 编译器#make ARCH=arm 时使用 ARM-GCC 编译器ifeq ($(ARCH), x86) CC = gccelse CC = arm-linux-gnueabihf-gccendif#存...

2022-01-08 16:50:12 555

原创 Linux-Makefile(一)

Makefile文件名字需要是Makefile或者makefile.管理一个项目工程,实质上就是管理项目文件间的依赖关系,当工程复杂度再上一个台阶的时候,会觉得手写 Makefile 也很麻烦,那个时候可以用 CMake、autotools 等工具来帮忙生成 Makefile。# 定义变量 TARGET = hello_main CC = gcc CFLAGS = -I. #指定头...

2022-01-03 15:58:10 321

原创 Arm-gcc

ubuntu是X86架构的gcc编译出的可执行文件只能在X86架构使用,开发板使用的是arm架构所以不能使用X86的需要arm架构的可执行文件。但是因为编译文件对性能内存各方面有要求,所有需要在PC上编译arm架构的可执行文件,于是有交叉编译器出现。1.在ubuntu安装arm-gcc编译器# 在主机上执行如下命令sudo apt install gcc-arm-linux-gnueabi...

2022-01-03 11:43:14 320

原创 linux给普通用户赋予sudo权限免密码

1.切换到root用户下su2.编辑sudoers文件vim /etc/sudoers3.找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)可以sudoers添加下面四行中任意一条youuser ALL=(ALL) ALL%youuser A...

2022-01-02 19:24:21 847

原创 Linux- GCC

一.GCCGCC 编译工具链(toolchain)是指以 GCC 编译器为核心的一整套工具,用于把源代码转化成可执行应用程序在 Ubuntu 系统下系统默认已经安装好 GCC 编译器,在主机上执行如下命令gcc -v # 查看 gcc 编译器版本which gcc # 查看 gcc 的安装路径二.测试GCC1.touch gcc_test.c2.输入普通C,main函数,print...

2022-01-02 19:21:18 148

原创 时钟指针取点函数

#include <stdio.h>#include <stdlib.h>#include <math.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int x=195;int y=140; ...

2021-12-14 17:02:47 3086

原创 野火 搭建NFS

NFS网络文件系统,就是利用网络构建一个共享文件夹来实现ubuntu和开发板,不同电脑ubuntu之间文件共享关闭防火墙和所有杀毒软件,并且开发板已经配置好wifi,见上一章首先ubuntu和开发板互相ping,主机ubuntu输入ifconfig 查看当前网络状态并记录IP:192.168.2.102然后开发板输入 ping 192.168.2.102查看是否ping通,ping不通就进...

2021-09-09 20:27:41 234

原创 野火 FireConfig 从SD卡下载镜像到EMMC

1.用balenaEtcher把镜像下载到SD卡2.拨码到SD卡启动3.用MobaXterm当串口终端,选择115200,取消硬件流4.输入用户名cat , 密码fish5.输入sudo fire-config 打开FireConfig6.选择Advanced->Flash Burning Once->enable7.重启后选择EMMC启动方式并拔掉SD卡...

2021-09-05 17:39:20 405 1

原创 野火 FireConfig 配置连接Wifi

野火最新镜像和原版视频不一样操作。方法1:1.直接sudo udhcpc -b -i wlan0 当前电脑连接网络的路由器会自动分配一个IP到Wlan0方法2:1.连接J2 , J1002的跳线帽2.板子用EMMC方式启动3.输入su进入root用户,密码是root,输入 echo "1 4 1 7" > /proc/sys/kernel/printk,输入exit 退出roo...

2021-09-05 10:08:36 856

原创 问题:-bash: ./build.sh: /bin/bash^M: 解释器错误: 没有那个文件或目录

现问题场景:执行xxx.sh脚本时,报错 "xxx.sh /bin/bash^M: 坏的解释器: 没有那个文件或目录”,因为 xxx.sh脚本文件是从windows拷贝过来的,所以多了\r,执行如下所示命令即可:方法1:sed -i 's/\r$//' build.sh方法2:sudo apt-get install dos2unixdos2unix build.sh——————...

2021-09-01 20:00:04 872

原创 touchgfx随便玩玩(一)

没啥想玩的游戏,就搞搞touchgfx随便跟着别人博客耍耍。把FMC-SDRAM , LTDC,DMA2D 配置起来,生成代码。1.JPG1.JPG2.JPG3.JPG4.JPG6.JPG网上一找资源多的是,没啥好说的。直接编译下载到F429,主频拉到最大180M,给LTDC 30M微信图片_2021072721373...

2021-07-27 21:38:55 154

原创 STM32与FPGA用FMC进行通讯

stm32正常按读写SDRAM进行配置,FPGA进行信号采集。FPGA信号采集发现SDWNE是高但H7手册上时序显示是低,造成无法像FPGA模拟的SDRAM无法写入数据FPGA采集信号应该在时钟下降沿,上升沿采集,数据会发生错误。...

2021-04-21 17:37:39 2399 1

原创 touchgfx遇到的坑

弄块液晶屏,显示分辨率800480,结果触摸分辨率是1024600,液晶驱动改过,坐标修改后正常使用x(800) = x(1024)800/1024;y(480) = y(1024)480/600;

2021-04-18 17:56:19 860

原创 进制函数

/输入hex是16进制数 , 输出sum为10进制数/int hextoDec(int hex){int sum=0,mul=1;int i,r;int count=0;do{r=hex%16;for(i=0;i<count;i++)mul=16;mul=r;sum+=mul;mul=1;count++;}while(hex/=16);return sum;}...

2021-03-16 11:11:43 132

原创 二、IMX6ULL——GPIO

IMX有124个IO 。IO并非GPIO , GPIO只是IO的功能。IMX有5组GPIO。GPIO1组有32个IO,GPIO2有22个,GPIO3有29个,GPIO429个GPIO5有12个。2.跟STM32一样,IMX也需要开启GPIO时钟, 寄存器CCM_CCGR0~CCM_CCGR6控制着所有外设的时钟,不只有GPIO的时钟。3.举例:用GPIO1组的IO 00脚IOMUXC_...

2021-02-08 10:27:30 504

原创 一、IMX6ULL——启动流程

1.IMX6拿C来编程需要C运行环境,这个运行环境由arm汇编来实现,文件夹的start.s文件就是启动文件,来实现C运行环境。其实STM32也有这个.s文件,拿H7举例,startup_stm32h753xx.s,这个文件是MDK自动生成的,不需要自己编写。2.IMX6编程到运行需要把所有.c文件变成.o可执行文件,然后把所有.o文件链接在运行地址0x87800000转变成一个.bin文件...

2021-02-08 10:26:55 930

原创 LWIP(一)网络协议简介

数字通信离不开通信协议,通信设备只有按照约定的、统一的方式去封装和解析信息,才能实现通信。互联网通信所要遵守的众多协议,被统称为 TCP/IP。比如http协议,打开电脑,打开浏览器,输入网址 ,最后按下回车,这一刻你就开启了 HTTP 通信。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。Web 服务器根据接收到的请求后,向客户端发送响应信息...

2020-11-24 09:04:35 702

原创 在ST官网下载HAL库函数手册

1.https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubef1.html#documentation打开ST官网2.搜STM32CubeF1(STM3...

2020-11-18 10:42:30 5680

原创 CRC校验

https://mp.weixin.qq.com/s/RNHLZGPD9Ysbxb1FNDn6EAhttps://www.cnblogs.com/moluoqishi/p/7731617.html

2020-07-16 13:59:21 109

原创 UCOSIII_定时器

定时器实际就是一个递减的计数器,递减到0会触发一个动作,这个动作就是回调函数。使用OSTmrCreate()来创建一个定时器:捕获.PNG通过OSTmrStart()可以开启定时器OSTmrStop()可以删除定时器创建之前需要先定义一个定时器的结构体 OS_TMR tmr1; //定时器tmr1定时器tmr1的回调函数是void tmr1_callback(voi...

2020-04-27 15:25:05 208

原创 MATLAB(四)基础绘图

基础链接:https://blog.csdn.net/ncepu_Chen/article/details/103097452补充:plot(x,y,'r.-');plot(x,y,'r.-',x2,y2,'g.-');画图函数y和x是能组成一个方程,'r.-'是线的样式w:Whitek:Blackb:Bluer:Redc:Cyang:Greenm:Mag...

2020-03-20 09:10:37 674

原创 MATLAB(三)数据类型与文件读写

基础知识:https://blog.csdn.net/ncepu_Chen/article/details/103065580数据类型:true,falsecharnumerric:int8,uint8,single,double,int16,uint16,int32,uint32,int64,uint64cellstructfunctionclass(变量),...

2020-03-17 16:40:37 423

原创 MATLAB importdata引入txt文件汉字乱码解决

用importdata读取txt之前增加语句feature('DefaultCharacterSet', 'UTF8'); ~~ 使得matlab支持utf-8编码matlab 小波图形化接口 输入 wavemenu

2020-03-17 09:14:42 2037 2

原创 USB

USB是主从模式,设备和设备,主机与主机之间不能连接,为了解决这个问题出现了USB OTG,同一设备在不同场合可以在主机或从机之间切换。主机如何识别到有设备通过USB插入了?插头的D+,D-下拉了15k电阻接到地,高速设备的D+上还接了上拉1.5k电阻,低速设备D-接了上拉1.5k,到时间插头一查到接口,有上拉的D+或D-就有电压了,电脑就知道有设笔还能分高速还是低速设备.U...

2020-03-14 08:59:31 124

原创 MATLAB(二)脚本

基础内容:https://blog.csdn.net/ncepu_Chen/article/details/103034286补充:help xxx,打印出函数注释的文本创建函数文件,左上角菜单新建-->函数主函数和子函数,每个脚本的第一个函数是主函数,后面定义的函数是该主函数的子函数,可以从命令行或其它函数文件外部调用主函数但不能调用子函数。子函数仅仅对函数文件中...

2020-03-11 09:22:41 185 1

原创 UCOSIII_中断和时间管理

UCOSIII支持中断嵌套,高优先级中断可以打断低优先级中断,在UCOSIII中使用OSIntNestingCtr来记录中断嵌套次数,最大支持250级嵌套,没进一个中盾嵌套OSIntNestingCtr就加1,反之则减1进入中断函数:OSIntEnter(),仅进行OSIntNestingCtr加1操作退出中断函数:OSIntExit()void XXX_Handler(vo...

2020-03-09 15:43:23 376

原创 MATLAB(一)矩阵相关运算

基础资料参考:https://blog.csdn.net/ncepu_Chen/article/details/103034286补充:max(a),默认按列比较max(a,[],1),按列比较max(a,[],2),按行比较a(:),变成全是行的矩阵max(max(a)),获得最大值[i,j]=max(a(:)),i是最大值,j是索引min同理sort(A, 1...

2020-03-09 10:08:27 1217

原创 UCOSIII_系统内部任务

系统内部有5个系统任务:空闲任务、时钟节拍任务、统计任务、定时任务、中断服务任务、钩子任务。空闲任务:OS_IdleTask(),此任务必须创建,避免CPU空转,但不需手动创建,在OS_Init()初始化时已经创建了。次任务优先级为(OS_CFG_PRIO_MAX-1),即最低,OS_CFG_PRIO_MAX为优先级数,默认64。为什么必须存在:https://www.jia...

2020-03-05 20:32:32 235

原创 UCOSIII空闲任务为什么必备

转载自:http://blog.sina.com.cn/s/blog_5fc67c5d0100cv8r.html为什么必须要使用这个任务呢?我个人认为可以从两个方面回答:第一个方面:从CPU本身的运行来看,没有任务就绪并不代表CPU要停止运行,这是总要让CPU做点什么,使CPU能正常的完成任务调度的所需要的一切动作,顺便统计一下CPU的使用率第二个方面:从UC/OS-II的某...

2020-03-03 10:36:33 343

原创 任务操作相关函数

void OSTaskCreate(.....)创建函数,上节已经介绍void OSTaskDel(OS_TCB *p_tcb,OS_ERR *p_er)删除任务,第一参数要删的任务的控制块,第二个是接收错误码的删除任务不是删除任务代码,而是操作系统不再使用这个任务。少用这个函数可以用挂起代替,因为如果任务A在使用某个共享资源,在删除之前A没有释放共享资源,其它任务就不会取...

2020-03-02 15:27:31 148

原创 UCOSIII_多任务创建(二)

任务调度和切换就是让就绪表中优先级最高的任务获得CPU使用权,UCOSIII是抢占式的,高优先级任务可以抢了低优先级任务的CPU使用权,任务调度由任务调度器完成,任务调度器分为:任务级,中断级调度器1.任务级调度器:OSSched(),不能用于中断服务函数中函数里有一个函数OS_TASK_SW(),这个是真正执行任务切换的宏,它把当前任务的CPU寄存器值保存在任务堆栈中,保存完...

2020-02-29 16:58:49 317 1

原创 UCOSIII_多任务创建(一)

UCOSIII是个多任务操作系统,对任务操作有创建、挂起、删除和调度等。任务状态有:休眠态:任务函数只是存储区的一段代码,不受UCOS控制就绪态:任务在就绪表中已经登记,等待获取CPU使用权运行态:任务正在运行等待态:正在运行的任务需要等待某一个事件,像信号量、消息、事件标志组等,这时会暂时让出CPU使用权,进入等待状态中断服务态:一个正在执行的任务被中断打断,CPU转...

2020-02-29 12:01:03 832

F1_ADC+DMA采集正弦波.zip

使用stm32f103来采集正弦波,为了采集精确使用了DMA来传输采集数据...............................................................

2020-02-06

F1_DMA+串口接收不定长.zip

使用stm32f103串口接收数据,采用DMA方式接收不定长数据................................................................................................................................... 

2020-02-06

F1_正弦波.zip

使用stm32f103zet6完成正弦波输出,注释详细。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2020-02-06

空空如也

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

TA关注的人

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