- 博客(58)
- 资源 (6)
- 收藏
- 关注
原创 第二章 GD MCU程序下载
一、GD下载工具说明见到很多网友在问GD MCU能用JLink下载吗?GD MCU能用STLink下载吗?GDMCU如何下载之类的问题,我亲自测试了在此简单说一说吧。1、GD MCU可以用JLink工具进行下载程序,但是一定要接复位脚,不接的话下载不了,也就是说采用SWD下载比ST单片机多了一只复位脚2、GD MCU不能使用正版STLink进行程序下载,可以使用盗版的STLink进行下载,但是盗版的也不是每一款都能下载,查了一些原因是因为ST与GD的SWD下载协议不同3、GD MCU还可以同
2021-02-02 20:44:26
1991
原创 第一章 GD MCU 开发环境配置
一、踩坑GD一直以来都是在使用ST的MCU进行开发,但是从去年以来ST不断涨价,到现在为止,stm32f103c8t6 已经炒到了43.66软妹币,做不成朋友了,在网上看到GD和ST的兼容性比较高,而且性价比也是比较好,Pin对Pin的M4 GD32E103C8T6现价才6.74软妹币,于是决定踩坑,闲话少说,下面开始介绍开发环境配置二、配置前电脑环境说明1、Win10 X642、Keil MDK V5.32[电脑已经预先安装好,keil安装教程请自行找资料安装,这里不进行安装介绍]三、资
2021-01-12 13:42:58
5030
原创 STM8S003F3控制LED
一、概述不管什么单片机,想要控制LED灯,只能是通过控制单片机芯片的I/O引脚电平的高低来实现。同样在ST单片机上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为 GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB„„GPIOG不同的组,每组端口分为 0~15,共16个不同的引脚不等,对于不同型号的芯片,端口的组和
2016-03-07 11:17:25
9607
原创 STM32F051C8T6控制LED
一、概述不管什么单片机,想要控制LED灯,只能是通过控制单片机芯片的I/O引脚电平的高低来实现。同样在ST单片机上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为 GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB„„GPIOG不同的组,每组端口分为 0~15,共16个不同的引脚不等,对于不同型号的芯片,端口的组和
2016-03-07 10:38:31
4879
原创 STM32F103RCT6控制LED
不管什么单片机,想要控制LED灯,只能是通过控制单片机芯片的I/O引脚电平的高低来实现。同样在ST单片机上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为 GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB„„GPIOG不同的组,每组端口分为 0~15,共16个不同的引脚不等,对于不同型号的芯片,端口的组和引脚的数量不
2016-02-24 15:05:25
8707
1
原创 一步步告诉你stm32开发环境搭建流程
一、搭建开发环境需要的文件[蓝色框是解压后的文件夹]1、首先我们需要一个ST库ST的官网经常改变,就不放置路径了,毕竟过一段时间也会出错,大家除了在官网找也可以在网上找人家分享的资源,网上也有很多人分享。如果你是用库函数开发的话,则必须要有一个ST库,在找的时候要注意找对应的MCU系列ST库2、安装MDK软件MDK的安装很简单,直接下一步最后完成再破解就可以了,大家安装
2015-12-28 16:03:26
26903
原创 单片机模拟IIC时序读写24C02
一、什么是IIC总线IIC即集成电路总线,也是一种非常常用的总线是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。注意:IIC芯片在工业上的应用也是非常重要的,与串口、SPI、CAN等总线齐名。二、IIC总线协议简介IIC串行
2015-12-26 14:39:42
20985
1
原创 单片机控制串口通信
串口通信的内容比较重要,大家一定要掌握,工业上应用非常多,其中232总线、485总线以及以它们为基础建成的ModBus网络工业通信系统都需要用到串口,下面我来为大家一步步介绍串口通信的相关知识。一、通信数据的发送方式简介通信是机器与机器之间数据交换的桥梁,按数据发送方式分为串口通信和并口通信也可以叫串行通信和并行通信。串行通信:串口通信是指外设和计算机间,通过数据信号线 、
2015-12-17 17:04:36
3598
原创 什么是面向过程与面向对象
什么是面向过程与面向对象许多人在学习语言的时候都会被告知,C语言是面向过程的编程语言,JAVA语言是面向对象的编程语言等等。这时当你是刚学习一门语言的时候,根本就不用管这个概念是什么意思,因为你是白丁,没有另外一门语言的编程思想来干扰你的学习,但是若你已经学习了一门语言那就会提出什么是面向过程?什么是面向对象?这样的疑问。这两个概念其实是很难说的清楚的,特别是对一些学过面向过程而完全没有接
2015-12-15 11:54:15
5423
1
原创 单片机控制外部中断输入
1、什么是外部中断外部中断即通过外部电平或上下降沿触发所产生的中断2、寄存器介绍外部中断主要设置3个寄存器参数EA、EX、IT,这些寄存器分别属于IE和TCON;其中EA为总中断开关,1为打开,0为关闭;EX为外部中断允许寄存器,1为允许,0为关闭;IT为外部中断触发方式选择寄存器,1为边沿触发,0为电平触发;3、程序设计使用外部中断零设计电路,使单片机
2015-12-14 11:45:50
2664
1
原创 单片机控制定时器
一、定时器介绍51单片机有2个16位的定时/计数器T0、T1,52单片机有3个16位定时/计数器T0、T1、T2。定时/计数器顾名思义就是有定时和计数的功能,下面主要介绍定时器,对计数器不进行论述单片机的定时功能在日常的单片机编程中应用十分的广泛,同时定时中断也是单片机常用的中断之一,所以学好定时控制也是非常重要的,如果不理解中断的概念请查我的文章嵌入式中断二、单片机的内部框图
2015-12-12 16:14:06
4443
原创 嵌入式中断的理解
一、什么叫中断先来个概念文字定义中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。 即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。中断在嵌入式系统中使用得十分广泛,可以说几乎离不开它,可想而知中断的功能有多么的重要,其实笼统地说中断
2015-12-09 17:01:49
18146
1
原创 单片机读入4*4矩阵键盘
一、什么是矩阵键盘矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组,由于电路设计时需要更多的外部输入,单独的控制一个按键需要浪费很多的IO资源,所以就有了矩阵键盘,常用的矩阵键盘有4*4和8*8,其中用的最多的是4*4。网上搜了两张实物图,大家可以看看看上图就知道,4*4键盘还是很多地方用到的吧^_^二、矩阵键盘的原理矩阵键盘又称为行列式键盘,它
2015-12-03 11:55:17
28717
3
原创 单片机控制独立按键读入
一、什么是轻触开关轻触通俗的说,就是轻轻接触。因此,轻触开关也可以理解为,轻轻接触开关就可以控制开关的通断,即轻轻按下开关接通,松开即断开。它的应用范围很广,在家电设备、楼宇自动化、车载设备、数字影音等多个领域广泛应用。二、轻触开关寿命与性能测试在使用寿命方面:国产弹片寿命:约5-7万次 进口弹片单面复银寿命:大于10万次 不锈钢弹片大于50万次
2015-12-02 10:08:25
1344
原创 单片机控制数码管
一、什么是数码管led数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示,目前led数码管广泛用于仪表,时钟,车站,家电等场合。二、数码管的结构原理l
2015-11-30 14:40:25
3183
原创 单片机控制蜂鸣器
一、什么是蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。在单片机电路中一般作为报警、提示或者播放音乐用。下面放张实物图二、蜂鸣器的分类按结构原理分蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。按工作方式分,蜂鸣器主要分为有源和无源。三、有
2015-11-28 14:58:42
10624
转载 第三十节 如何使用MT-USBDongle的透传功能
第三十节 如何使用MT-USBDongle的透传功能工具1. 请用户先确认是从馒头科技购买的具有透传功能的MT-USBDongle,或者用户自己更换成了具有透传功能的固件,若不确定请联系客服。2. 从馒头科技百度网盘中馒头科技蓝牙4.0系列——>MT-USBDongle——>透传测试软件文件夹中下载馒头科技官方提供的串口助手软件(无需安装可直接使用),以及Android端测试
2015-11-28 13:43:26
1573
转载 第二十九节 MT-iBeacon基站关于LightBlue软件的使用
第二十九节 MT-iBeacon基站关于LightBlue软件的使用在苹果商店APP Store中输入LightBlue,可查找到LightBlue软件,如下图所示:下载LightBlue软件。下载完成之后,打开LightBlue软件,如图所示:点击进入搜索到的馒头科技MT-iBeacon基站,如所示。这五个通道的详细说明参考《MT-iBeacon-用户手
2015-11-28 11:50:24
3621
转载 第二十八节 在PC端实现OAD空中升级
第二十八节 在PC端实现OAD空中升级1. 通过PC进行OAD无线升级需要MT-USBDongle,结合TI提供的BLE Device Monitor软件。用户可以到馒头科技淘宝旗舰店购买到MT-USBDongle,然后根据馒头团队撰写的《MT-USBDongle-用户手册》中“PC端调试开发功能”章节安装好BLE Device Monitor。2. 在馒头科技百度网盘中下载到馒头科技提
2015-11-28 11:43:17
801
转载 第二十七节 MT-iBeacon基站使用iPhone空中升级
第二十七节 MT-iBeacon基站使用iPhone空中升级在iPhone端实现固件更新 为了使用iPhone或者iPad对iBeacon进行固件更新,首先要确认手机为iPhone4S及以上,系统为IOS7及以上,在AppStore里搜索下载Multitool,这个APP是TI免费提供的,可以直接下载安装。安装好这个APP后,PC上需要使用iTunes将固件拷贝到手机。iT
2015-11-28 11:35:49
1012
转载 第二十六节 UBL-USB升级
第二十六节 UBL-USB升级UBL升级是使用USB功能来进行升级的,它的配置也是一样的步骤。配置UBL。 打开IAR,打开BLE-CC254x-1.4.0下的工程。C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\util\UBL\soc_8051\usb_msd\iar\ubl.eww,选择CC2540-Nano。
2015-11-28 11:28:12
1547
转载 第二十五节 SBL串口升级
第二十五节 SBL串口升级SBL升级和OAD升级的配置步骤都是一样的,主要是配置的参数不一样,下面我们来配置一个SBL升级的固件。配置SBL开IAR,打开BLE-CC254x-1.4.0下的工程C:\TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\util\SBL\iar\cc254x\sbl.eww,然后编译,下载到开发板中。配置B
2015-11-28 11:21:04
1903
转载 第二十四节 OAD空中升级
第二十四节 OAD空中升级通过仿真器更新程序或者通过USB更新固件那都是一般人都可以实现的操作,但是要想实现OAD空中升级,这还是需要一定的技术能力。这一节我就带着大家完善这一能力。 OADn air download,指空中下载模式。当我们的产品发布以后,有时需要对固件进行升级,OAD是升级方式中的一种。配置BIM(Boot Image Manger)打开IAR,打开BLE-CC254x-
2015-11-28 11:07:25
1310
转载 第二十三节 蓝牙协议栈之主机通讯
第二十三节 蓝牙协议栈之主机通讯 随着蓝牙4.0模块的大量使用,为了很多从未接触过蓝牙的工程师也能快速便捷地开发蓝牙项目或者使用蓝牙,主从一体、远控IO等等特性也成为蓝牙模块必备的条件。其实,联合第二十一节和本节(第二十二节),我们就能将一个本无固件的裸片蓝牙,使其开发为具备主从一体功能的蓝牙模块。这两节的内容,也是本连载篇的重点部分之一。 上一节我们对从机的工作流程有了一个整体的
2015-11-28 10:34:43
1419
转载 第二十二节 蓝牙协议栈之从机通讯
第二十二节 蓝牙协议栈之从机通讯之前都是外围模块的驱动程序,这一节开始,我们进入蓝牙4.0协议栈的核心部分,从机通讯的程序设计。接下来的章节是蓝牙4.0协议栈最为核心的程序设计部分。 前面的大都是外围器件的实验,这节我们介绍蓝牙通讯中从机的角色,从机的主要工作是对外广播,接受主机的连接,并且接受主机发送过来的数据。这里介绍两个函数:bStatus_t GAPRole_SetPa
2015-11-28 10:07:23
2699
转载 第二十一节 DHT11温湿度传感器
第二十一节 DHT11温湿度传感器(1)DHT11简介 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传
2015-11-28 10:00:19
4229
转载 第二十节 协议栈Flash数据存储
第二十节 协议栈Flash数据存储CC254x自带了256K Flash,这256K的储存空间不仅可以储存代码,也可以储存用户的数据,协议栈自带了SNV管理代码,我们只需要学会使用即可。SNV的使用只有两个函数,分别是读函数osal_snv_read和写函数osal_snv_write,在SNV的储存中,储存的每个数据都有一个唯一的ID,SNV也正是利用这个ID来管理储存在Flash中的数
2015-11-28 09:48:26
1116
转载 第十九节 协议栈五向按键
第十九节 协议栈五向按键和前面几个一样,按键的驱动在协议栈中也已经有了,我们只需要做一些小的修改,使它适应我们的开发板即可。1.修改工程配置,使能按键功能。2.在我们的工程中要使用按键功能,仅仅打开配置选项是不够的。因为协议栈代码默认只有MINIDK开发板才有按键。从这里可以看到(类似的地方有很多),如果要使能按键功能还需要定义CC2540_MINIDK,但是阅读整
2015-11-28 09:42:31
1352
转载 第十八节 协议栈UART实验
第十八节 协议栈UART实验协议栈中已经用了串口的驱动,我们要做的只是对串口进行初始化,然后就可以进行串口数据的收发了。用使用串口,第一步,需要打开使能串口功能,通过配置工程来实现,这里注意,我们现在不使用USB的CDC类来实现串口,所以HAL_UART_USB=FALSE。HAL_UART=TRUEHAL_UART_USB=FALSE要使用串口必须先初始化相应的串口,
2015-11-28 09:33:53
2097
转载 第十七节 协议栈LCD显示实验
第十七节 协议栈LCD显示实验打开LCD12864的实验工程,一样的在工程配置中打开LCD,选择MT254xboard然后直接编译下载,我们可以看到LCD上已经有显示了。这些显示来自哪里呢?在初始化函数中可以看到图中的函数调用,这里是将字符串显示到LCD的第一行。HalLcdWriteString是将第一个参数指向的字符串显示到第二个参数指定第几行中,
2015-11-28 09:26:01
2495
转载 第十六节 协议栈LED实验
第十六节 协议栈LED实验 TI的协议栈中在HAL层已经有了LED的驱动,我们只需要针对我们的开发板进行配置即可,我们的开发板有两个LED,分别对应P1.0和P1.1。这个在裸机开发的时候已经介绍了。 为了保持协议栈原有的代码不变,我们在BLE-CC254x-1.4.0\Components\hal\target目录下新建一个文件夹,使它适应我们的开发板。打开LE
2015-11-27 15:11:29
1084
转载 第十四节 OSAL工作原理
第十四节 OSAL工作原理 蓝牙为了实现同多个设备相连,或实现多功能,也实现了功能扩充,这就产生了调度问题。因为,虽然软件和协议栈可扩充,但终究最底层的执行部门只有一个。为了实现多事件和多任务切换,需要把事件和任务对应的应用,并起一个名字OSAL操作系统抽象层。OSAL管理的实现 如果实现软件和硬件的低耦合,使软件不经改动或很少改动即可应用在另外的硬件上,这样就方
2015-11-27 14:57:56
4972
转载 第十五节 BLE蓝牙4.0协议栈启动分析
第十五节 BLE蓝牙4.0协议栈启动分析TI的这款CC2540/CC2541器件可以单芯片实现BLE蓝牙协议栈结构图的所有组件,包括应用程序。从这章开始我们来剖析协议栈源码,我们选用SimpleBLEPeripheral工程开刀,这是一个从机的例程,基本的工作是对外广播,等待主机来连接,读写展示的属性。首先打开工程文件,打开后可以看到整个工程的结构。 我们按照系统的启
2015-11-27 14:46:14
1136
转载 第十三节 BLE协议栈简介
第十三节 BLE协议栈简介 TI的协议栈分为两部分:控制器和主机。对于4.0以前的蓝牙,这两部分是分开的。所有profile和应用都建构在GAP或GATT之上。根据这张图,我们从底层开始介绍。TI的这款CC2540器件可以单芯片实现BLE蓝牙协议栈结构图的所有组件,包括应用程序。1.1.1 PHY层 1Mbps自适应跳频GFSK(高斯频移键控),运行在免证的2.4G
2015-11-27 14:33:28
2182
转载 第十二节 Flash的读写
第十二节 Flash的读写 嵌入式系统中需要存储数据,而片内的Flash资源很匮乏,所以我们经常需要使用SpiFlash来存储数据,MT254xboard中板载了一个512Kbyte的Flash,下面我们来驱动此Flash。上一小节中我们用SPI的方式驱动了LCD12864,这节我们继续用SPI来驱动板载的Flash,《GD25Q40.pdf》详细的说明了如何驱动这片Flash,在此不
2015-11-27 14:21:50
1216
转载 第十一节 串口通信
第十一节 串口通信 在软件开发过程中调试是一个很关键的过程,而调试用的最多的手段就是打印Log,嵌入式平台很少有显示设备,所以我们需要将信息通过串口打印到PC端。 MT254xboard上已经通过RS232芯片将UART0连接到DB9,我们只需要将DB9连接到电脑即可,UART0 对应的外部设备 IO 引脚关系为:P0_2------RX,P0_3------TX。
2015-11-27 14:12:49
1130
转载 第十节 蜂鸣器
第十节 蜂鸣器 蜂鸣器是一种常用的报警设备,常用的蜂鸣器有无源和有源两种类型,无源蜂鸣器需要用一定频率的方波驱动,从而发出不同频率的声音。而有源蜂鸣器只需要通电就会发出固定频率的声音,MT254xboard开发板上的蜂鸣器用的是无源蜂鸣器,因此我们需要用一定频率的方波来驱动。硬件驱动方面,我们这里使用了PNP三极管来驱动蜂鸣器,BUZZ引脚为芯片的P2.0。对照IO复用
2015-11-27 11:10:31
1022
转载 第九节 五向按键
第九节 五向按键 五向按键,也就是我们平常所见的摇杆内部构造,五向按键有上下左右和中间五个按键值,MT254xboard上的五向按键检测电路由馒头科技自主设计,而不是Ti的设计,采用一个外部中断和一个AD检测口来完成按键的检测。由原理图可知当我们按下不同的键值时在JOY_CHK将会产生一个上升沿,并且在JOY_AD口有不同的电压。我们只需要在JOY_CHK的外部中断中读取J
2015-11-27 11:04:12
14503
转载 第八节 CC254x内部温度传感器温度采集
第八节 CC254x内部温度传感器温度采集 CC254x内部有一个温度传感器,我们这节使用这个传感器来采集芯片的温度,此传感器精度不高。不适合用于实际的工程中,这里只为演示AD采样。要使用内部的温度采集我们需要使用AD采样,所以我们需要先来了解CC254x的AD功能。在后续课程有对ADC的详细说明。 ADC结构图如下所示: ADC控制寄存器1如下图所示:
2015-11-26 16:41:08
1621
转载 第七节 独立按键之中断方式
第七节 独立按键之中断方式 复制Key工程,重命名为KeyInterrupt。刚刚我们用查询的方式读取按键的状态。但是这种方式在实际的工程中没有实际的应用价值,下面我们采用外部中断的方式来读取按键的状态,每当按键按下时就会触发一次外部中断。为了P0.0口能够触发中断,我们需要进行如下配置: P0IEN |= 0X01; // P00 设置为中断方式 PICTL &=~ 0
2015-11-26 16:34:49
5148
STM32串口USART2发送接收程序
2014-09-28
The C++ Programming Language 3rd[中文版]
2014-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人