自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 全志芒果派麻雀开发板----新建一个分区并挂载(1)

目录吐槽--开发板全都是吃灰的正文:(一)找资料的办法!(二)新建分区(三)分区的挂载1,建立文件夹(这一步我就想了很久,怎么建立完还能打包到烧录包里)2,分区挂载到文件夹上:3,新建的分区文件夹,只能读,不能写。总结:吐槽--开发板全都是吃灰的我发这个文档的时候内心无比的崩溃,但是比两周前舒服多了。原因就是我在论坛上开到芒果派麻雀这个开发板很漂亮,还是RSIC-V内核,还能跑Linux,想着学习Linux,就买了它。这就是我噩梦的开始,满怀希望地下单,收获,

2022-04-16 23:27:27 2395 13

原创 rt-thread nano stm32f103cbt6 蓝牙模块的通信(有整个工程的代码仓库)

本项目代码仓库的网页:董昊旻/rt_nano_bluetoothhttps://gitee.com/donghaomin/rt_nano_bluetooth一,任务来源清明节在家呆着无聊就看了一个猪八戒发布的一个简单的任务,但是不会操作那些程序外包的东西,就把这个任务作为一个练手的小项目,打发一下时间,代码的思考,撰写和调试应该花了12个小时,昨天晚上5点到半夜1点(代码写到兴奋的睡不着觉,在地上站着玩了一个半小时手机才睡着),第二天的早上8点到12点。很大一部分时间花在了调试stm32的引脚,中断

2022-04-05 20:02:14 5173 1

原创 Mbed LPC11U24开发入门

一年前在恩智浦公众号抽了一块LPC11U24开发板,因为工作繁忙一直没时间捅咕。最近长春疫情很严重,在家办公快18天了,翻出来这块板子打发一下时间。这个东西资料不多,上边的图就是所有的资料了,其实上边的资料也是乱码七遭的,没啥大用,我们直接把开发板连接到电脑上吧!这里边有一个网页的HTML,直接双击打开,打开之后,需要注册账号,注册完就有了我红色方框圈出来的东西,单击他就可以进到Mbed IDE的编译器。直接点击BlinK的demo,然后OK。点击编译按钮,就会...

2022-03-27 12:06:32 513 2

原创 Sipeed RISC-V调试器(ft2232d)调试longan,使用MounRiver Studio

在很久之前买了了sipeed的荔枝糖FPGA,就是安陆哪个片子,送了一个这个调试器,但是我个人来说就会fpga点个灯,太难的就不会了,这个调试器也就是一个摆设。今天逛淘宝看这个调试器已经涨到47块,加上10块的快递费,需要57,我那个时候35包邮?还是25?这么贵一定要用一下,要不然浪费了。我手里还有一块longan,也是RISC-V内核的MCU,所以我就想用这个调试器作为jlink调试longan。需要使用的软件有:MounRiver Studio,UsbDriverToolUsb..

2022-03-10 09:35:47 2794 2

原创 单片机前后台程序后添加RT-Thread运行异常问题解决

目录一.开发板有问题二.移植RT-Thread三.灵感来了四.温情提示一.开发板有问题很多年前买了一块当年最为先进的mcu开发板----longan(龙眼gd32vf103cxt6),一个月前我才能正常的点亮上边的led,不是我放着吃灰了,是我真的怎么都没办法将他点亮。上个月我下了一个MounRiver Studio编译器我才发现,可能是我遇到奸商了!当时我买的是GD32VF103CBT6,原来他妈的给我发的是GD32VF103C8T6,这个事情我以前也想过,我也看过芯片上的丝印

2022-01-23 18:42:02 728

原创 WAVE音乐格式解析(讲解加代码)

wave.c#include <stdio.h>#include<stdlib.h>#include <string.h>#include "wave.h"FILE *fp=NULL;void printf_c(void * data,unsigned char num){ unsigned int i = 0; char name[num]; memcpy(name,data,num); for(i=0;i<num;i++) .

2021-07-22 21:32:44 912

原创 Linux驱动开发(五.网卡分析.(2)MDIO与MII分析)

MDIO与MII其实MDIO不应该与MII放到一个层级上来说,MDIO只是SMI通信接口的一个引脚,但是MII却是一种通信接口。目录MDIO与MII一.站点管理接口SMI:二.MII通信:一.站点管理接口SMI:SMI是一个只有两根线的通信接口,一根时钟线MDC,一根数据线MDIO。MDIO会在MDC的时钟信号驱动下,向PHY设备传递信息。SMI和CAN差不多,都是可以挂从机的,理论上SMI上最多可以挂32个PHY。它存在两种操作模式,读模式和写模式。这么说他还算是半双工

2021-07-18 21:59:44 1912

原创 Linux驱动开发(工具.1:嵌入式Linux性能分析工具bootchart)

参考:https://www.freesion.com/article/1911209178/#LinuxBootChart_41我为大家准备了两个工具的安装包:https://download.csdn.net/download/qq_36813351/20359920一.安装编译嵌入式Linux系统下的bootchart-lite1.使用gcc交叉编译bootchart-lite安装包下src文件夹下的bootchart-lite,路径:bootchart使用方法\开发板\bootch

2021-07-18 21:55:39 879

原创 Linux驱动开发(二.linux字符设备驱动)

我先贴出一个字符设备驱动的demo,咱们再对照demo进行分析与讲解。#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/cdev.h>#include <linux/device.h>#include <linux/fs.h>//#include <asm/uaccess.h>#

2021-07-18 20:50:18 496

原创 Linux驱动开发(一.linux驱动简介)

Linux的软件开发大家貌似都比较陌生,貌似大家平常也不会用什么操作复杂的Linux系统。但是你们用不用,和我啥关系?我最近要做Linux的驱动开发,就讲一下Linux的驱动吧。Linux的驱动和STM32MCU的library库挺像的都是直接操作芯片上的硬件资源,直接控制寄存器来驱动外设。不同的就是STM32的Library库支持的仅仅是意法半导体那几款片子,家族性比较高,寄存器的地址上区别也不大,但是Linux需要支持的芯片非常多,因此在驱动层Linux就需要有对芯片更高的兼容性。为了满足兼容性和易

2021-07-13 21:57:55 498

原创 中断时应该做的事

在平常的嵌入式开发中我们经常会用到中断,但是有很多人不知道中断发生时我们应当做些什么?在这里我提前说一下,主要讲的是mcu的终端逻辑(app指的是mcu的主程序,boot指的是升级程序)复杂嵌入式软件(app)在一个逻辑复杂的嵌入式软件中,存在着很多个外部中断,并且可能存在着不同的优先级,此时中断的使用不在简单。每一个中断来临时的代码运行流程应该是,中断来临跳入中断函数,首先关闭全局中断避免新的中断来临,这么说可能有点抽象,我们打一个比方我们有两个串口(UART),uatr0首先进入中断函数,中

2021-07-11 21:30:40 593

原创 音乐音量调节

pcm音量调节今天有人问我pcm数据音量调节的问题。那今天就聊一聊音乐音量这个话题。对于音乐播放器来说,音频播放器硬件分为两个大模块,一个是音频数据源pcm模块,一个是dac功放模块,两者之间通过iis信号线通信,iis信号线上传输的就是pcm数据。对于android系统来说,音乐解码器把音乐数据解码成pcm数据,通过android的硬件抽象层调用linux的声卡,在通过声卡打包pcm数据为iis信号,发送pcm到dac端。dac端负责iis数据解析和pcm数据播放,播放出变动的电压值。但是这个电压

2021-03-04 22:31:04 1052 2

原创 什么是PCM数据

pcm音乐刚开始接触音乐的几个词汇就是无损,有损,高品质,高码率等等,搞得晕头转向。反正不管什么大就完了大就是好的。(嗯,确实是对的!)一天和同事聊起了IIS上传输的pcm数据丢失,我问你知道pcm数据是啥吗?同事只知道他是一个数据,不知道这个数据究竟是啥东西!我又问了两个人,居然也不清楚?好吧!所以今天第一篇关于音乐的文章,我就想先从音频的基础-----------pcm数据谈起。众所周知声音是一种声波,波这歌东西就存在波峰波谷,跌宕起伏。我们又是如何把这声音保存下来的呢?就是通过麦克风的

2021-03-03 22:44:01 1451 3

原创 二维指针类型具体理解

局部变量的地址:函数指针int (*pf)(int,int)=max_int;定义个指针,int,int指示int max_int(int x,int y)int *ptr;//指向int类型的指针int *ptr;//指向ichar类型的指针int **ptr;//指向一级指针地址的类型的指针int *ptr[3];//指针数组重点int (*ptr)[3];//int a[5...

2019-02-01 08:50:52 778

原创 指针的好处

指针的好处提高程序效率实现动态数组,相对多个变量一般访问模拟数组p=&amp;a;//变量a的地址;p=A;//数组名A;p=q;//指针q;p=fun;//函数名fun;p=NULL;//NULL变量的访问方式直接访问-使用变量名间接访问-通过该变量地址进行访问(int )(0x0013FF78) = 10;value是别人的地址可以定义为void间接访问才有意义。...

2019-01-30 22:57:47 1117

原创 C语言理解二维数组

数组:今日讲解二维数组数组和指针是c语言的重中之重一位数组,数组名代表数组的首地址Int a[5]:int5的字节,bug百分之八十来自于内存,存放相同类型的内容。我们最多可以说指针模仿数组多维数组C语言将多维数组的访问变成了多次对一位数组的访问一位数组平方,二位数组楼房Int b[2][3]={{0,1,2},{3,4,5}};2列,3行b[0]+1sizeof(int)b是...

2019-01-30 22:55:39 263

原创 指针和内存讲解

//指针赋值,如果没有明确的地址可以赋值为NULL,int *p=NULL;NULL地址为0x0.判断指针地址是否为零地址if§ /如果p非空,则完成/if(!p) /如果p空,则完成/指针的算术运算:p++;指针的加法是地址的加*p是地址内存的数据char *up=“asdfghjkl”;*up=up[0] 是第一个地址内的值 *up=“a”;******************...

2019-01-25 21:44:28 129

原创 数据类型笔记

数据类型解释1.数据类型所占的空间{1. int 占四个字节1.Char占一个字节2.Float占四个字节3.Double占8个字节}2.数据类型的意义:申请储存空间并初始化3.一个变量名包含以下概念:1.名字(变量名)2.类型(**)3.值4.地址(变量内存中所处位置)void main( ){float f = 34f; //对于一块内存,按浮点型初始化int * ip ...

2019-01-23 22:57:49 100

原创 步进电机

步进电机两相步进电机 两相步进电机一共有两个线圈,A线圈,B线圈,如图1 图1 步距角的计算方法:转子齿数(转子极对数)Nr,定子相数P Θ=180/Nr*P。 图1:Θ=180/1*2=90。 控制线圈的通断,即可以控制线圈的转动,转动的时序为 输入 1 2 3 4 5 6 7 8 9 +A 1 1 0 0 1 1 ...

2018-08-06 11:07:36 3360

bootchart使用方法.zip

嵌入式设备使用的bootchart-lite,与Linux电脑版本使用bootchart分析工具(如果放到机器里提示bad string,就手打vim到目标机器里边,可能文本格式不相同)

2021-07-18

空空如也

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

TA关注的人

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