- 博客(18)
- 收藏
- 关注
原创 ARM、STM32的相关概念
电源引脚(V开头引脚,包括VDD、VBAT等)、晶振引脚(OSC引脚,分为高速和低速)、复位引脚(NRST)、下载引脚、BOOT引脚(BOOT0,另外如PB2引脚复位后也可做为BOOT1,但只在M3/4中才有)、GPIO引脚。而STM32就属于M3系列内核,其中ST:意法半导体,M:MCU/MPU,32:支持32位的处理器,相关资料可从ST中文社区网下载。纵向是字母,横向是数字,十字交叉格就是管脚,如第一行前两个是A1引脚和A2引脚。⑤是引脚默认功能,⑥是引脚复用功能,其中重定义是通过重映射的复用功能。
2023-05-18 12:10:32 348
原创 蓝牙模块
一 、模块简介嵌入式蓝牙串口通讯模块(简称蓝牙模块)具有两种工作模式:命令响应工作模式和自动连接工作模式。当模块处于命令响应工作模式(或者AT模式)时能才能执行 AT 命令,用户可向模块发送各种 AT指令,为模块设定控制参数或发布控制命令。(AT指令就是我们PC与一些终端设备(例如蓝牙,WiFi模块)之间进行通信的,配置这些终端设备参数的一套指令。)在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事
2021-03-23 21:43:35 4510
原创 电机模块驱动
//初始化TIMX,设置TIMx的ARR,PSC//arr:自动重装载初值,psc为预分频值,两者配合控制定时器时钟的周期//定时器选择TIM1static void TB6612_ADVANCE_TIM1_Mode_Config(TIM_TypeDef* TIMx,uint16_t arr,uint16_t psc,uint16_t duty) { //-----------------时基结构体初始化-------------------------/ TIM_...
2021-03-22 11:14:49 292
原创 超声波避障小车
超声波模块采用HC-SR04超声波模块,该芯片具有较高的集成度以及良好的稳定性,测度距离十分精确,十分稳定。供电电压为DC5V供电电流小于10mA,探测距离为0.010m-3.5m,一共有四个引脚VCC(DC5V)、Triger(发射端)、Echo(接收端)、GND(地)。实物长这样:该模块是利用单片机的IO触发电平测距,过程如下:单片机内部利用普通定时器产生一个高电平信号之后,超声波就可以自主发送8个频率为40khz的方波,然后等待信号的返回;若有信号返回,单片机IO口就立刻输出一高电平,高
2021-03-22 09:48:41 3541 1
原创 HC05蓝牙串口通信模块
HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以实现了所谓的透明传输(透传)。此文章中用蓝牙模块实现手机蓝牙控制STM32芯片的功能。一、蓝牙模块的调试待完善二、手机蓝牙控制STM32单片机实现功能:手机通过蓝牙,向STM32单片机发送消息,STM32接收到消息之后原封不动的返回给手机。当然如果掌握了这...
2021-03-21 16:34:21 1909
原创 STM32串口通信:USART
一、通信接口背景知识设备之间通信的方式1、一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。它们的区别是:串行通信:数据按位顺序传输。优点:占用引脚资源少,缺点:速度相对较慢。并行通信:数据各个位同时传输。优点:速度快,缺点:占用引脚资源多。串口通信一般是以帧格式传输数据,即一帧一帧传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。2、串行通信的分类(1)按照数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输;半双工:允许数据在两个方向.
2021-03-20 23:09:22 1560 1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(五)
一、编码方式1、编码:指用数字来表示字符,如用0x41来表示A2、编码有很多标准,如ASCⅡ(美国信息交换标准代码),ANSⅠ码3、ASCⅡ码使用一个字节的7位来表示字符,一共能表示2ˇ7即128个字符,缺点是表示的字符太少。4、选择ANSⅠ码编码时另需选择相应的字符集(如大陆使用GB2312),才能显示想要的字符。ANSⅠ码向下兼容ASCⅡ码,bit7为0表示ASCⅡ码并使用一个字节表示; bit7为1表示ANSⅠ码并用两个字节表示(如汉字)。二、编码实现1、...
2021-02-16 15:21:54 264 1
原创 韦东山嵌入式入门笔记之——开发板上的第一个APP和驱动程序
注:开发板以IMX6ULL PRO开发板为例!!!正文一、在开发板上编译程序即使用交叉编译器编译程序1、最重要的是先找到交叉编译的前缀:(1)一种运用自动补全功能:输入 arm- 然后加Tab键,就会出来想要的前缀(2)第二种方法是查看环境变量CROSS_COMPILEbook@100ask:~$ echo $CROSS_COMPILEarm-linux-gnueabihf-2、如果不是交叉编译则会在开发板上报错为格式出错$ arm-linux-gnueabi...
2021-02-02 22:02:17 291 1
原创 韦东山嵌入式入门笔记之——编程前的准备
一、连接开发板1、如图所示2、安装 USB 串口模块驱动打开设备管理器查看端口:让 Windows 自动安装,如果电脑没有显示出端口号,就需要手动安装驱动(用驱动精灵)。从驱动精灵官网下载一个驱动精灵,安装、运行、检测,会自动安装上串口驱动。二、连接终端MobaXterm打开串口1、打开 MobaXterm,点击左上角的“Session”,在弹出的界面选中“Serial”,如下图所示选择端口号(前面设备管理器显示的端口号 COM21)、波特率(Speed 115200)、流控(Flow Co
2021-02-01 13:46:18 401 1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(四)
第五章 Framebuffer应用编程Framebuffer是LCD设备的一种驱动程序5.1 LCD驱动原理1、
2021-02-01 10:21:32 362 1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(三)
四、文件I/O1、顶层应用层可以通过各种函数接口(如open、read、write)访问底层的普通文件,也可以访问驱动程序,进而访问底层硬件。一方面应用程序不需要关心底层硬件如何操作,只需要负责应用上的业务;另一方面底层开发人员写好驱动程序后将驱动程序的函数接口提供给顶层的应用程序开发人员;这样就可以使各部分各司其职地做各自擅长的部分。2、文件从哪里来?(1)来自硬件设备如磁盘、Flash、SD卡、U盘等硬件设备中的文件是存储于硬件设备中的真实文件,想要访问必须要先挂载设备。例子:访问SD卡中
2021-01-31 16:40:08 254 1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(二)
三、Makefile的使用1、为什么需要Makefile在编写程序后,如果仅改动了一个源文件(比如.h文件),那么不可能通过一系列的命令来重新编译所有的源文件,甚至有时改动的源文件比较多,出现最后忘记编译某些源文件的情况。而make工具可以解决上述问题,它会在有必要时重新编译所有受改动影响的源文件。而Makefile文件则告诉make怎样编译和连接成一个程序。Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。Mak
2021-01-30 21:18:35 381 2
原创 GCC编译器的选项
1、总体选项(Overall Option)(1)-c预处理、编译和汇编源文件,但是不作链接,编译器根据源文件生成OBJ文件。缺省情况下,GCC通过用`.o'替换源文件名的后缀`.c',`.i',`.s'等,产生OBJ文件名。可以使用-o选项选择其他名字。GCC忽略-c选项后面任何无法识别的输入文件。(2)-S编译后即停止,不进行汇编。对于每个输入的非汇编语言文件,输出结果是汇编语言文件。缺省情况下,GCC通过用`.s'替换源文件名后缀`.c',`.i'等等,产生汇编文件名。可以使用-o选项
2021-01-27 16:43:03 1510
原创 韦东山嵌入式入门笔记之——应用开发基础篇(一)
一、交叉编译hello.c1、准备工作:①要在板上运行,还是安装使用NFS会比较方便②解压工具链、设置PATH环境变量、确定编译器名称;然后才可以编译2、gcc编译器只适合编译在Ubuntu上远行的程序3、不同am板上的编译器名称 不同,工具链位置也不同,不同版本的编译器前缀不一样(xxx-gcc等),需要去交叉编译目录中查看4、参考网络置指南。5、gcc编译器的头文件默认路径为/usr/include,arm编译器的头文件在交叉编泽器目录下的include目录中6、指定头文..
2021-01-27 11:23:41 423 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人