open-ble.org 开源蓝牙ble-1_DA14580初级入门教程5: 裸机实验教程


裸机教程
——DA14580DK/AK开发板系列
快速搭建 DA14580开发平台,DIY低成本【原理图】【教程】【源代码】【工具】
作者: open-ble.org
如何快速低成本搭建 DA14580软硬件开发平台 open-ble.org
1.一颗DA14580芯片模块,所有引脚都已经引出。(淘宝搜“DA14580模块”,20元一只)
2.一个 J-Link OB仿真调试器。(淘宝搜“J-Link OB仿真调试器” 30元一只)! )
3.本站open-ble.org资源(包括原理图、软件代码、教程、开发工具、烧写工具(点击下载))
http://open-ble.org/forum.php?mod=forumdisplay&fid=62
4. open-ble内发帖交流!学习!共进!
2015/3/21

Open-ble.org



DA14580DKAK开发板系列
转载请注明出处
目录
术语和定义.........................................................................................................................................3
一、开发板演示.................................................................................................................................3
二、安装 Keil......................................................................................................................................3
三、最简代码.....................................................................................................................................3
四、GPIO实验....................................................................................................................................3
五、Timer实验..................................................................................................................................5
六、ADC实验.....................................................................................................................................6
七、INT实验......................................................................................................................................8
八、UART实验...................................................................................................................................9
九、I2C实验.....................................................................................................................................11
9.1实时时钟实验....................................................................................................................12
9.2 MPU实验............................................................................................................................12
十、SPI实验.....................................................................................................................................12
10.1 SPI板子之间通信实验.....................................................................................................12
10.2 SPI读写 FLASH实验........................................................................................................ 14
官网地址:http://www.open-ble.org
http://www.open-ble.org








DA14580DKAK开发板系列
转载请注明出处
术语和定义
SDK
GPIO
INT
软件开发工具包(Software Development Kit)
通用输入输出(General Purpose Input/Output)
中断(Interrupt)
ADC
I2C
模数转换(Analog to Digital Converter)
集成电路通信总线(Inter-Integrated Circuit bus)
串行外设接口(Serial Peripheral Interface)
通用异步收发器(Universal Asynchronous Receiver/Transmitter)
定义了一些编译规则的文件
SPI
UART
Makefile
BLE
低功耗蓝牙 4.0(Bluetooth Low Energy)
DA14580蓝牙协议栈依托的系统(RivieraWaves)
RW
一、开发板演示
开发板演示见教程《零基础快速上手教程》中,该教程位于目录:.. \DA14580DKAK开发板\教程\1
初级教程。
二、安装 Keil
参考《零基础快速上手教程》,位于目录:..\DA14580DKAK开发板\教程\1初级教程。
三、最简代码
我们提供了最简代码的工程 Simple_Code.uvproj,工程路径为:…\DA14580DKAK开发板\教程\1初
级教程\最简代码,用户可以在此基础上一步步添加完善自己的程序。
四、GPIO实验
现在我们在最简代码基础上进行 GPIO实验。
GPIO实验的Keil工程Simple_GPIO.uvproj,位于目录:..\DA14580DKAK开发板\教程\1初级教程\GPIO
实验。
在工程目录 Source Files分组中添加 gpio.c文件,如下图红框部分所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分:
在 main函数文件中添加 gpio.h头文件,并添加延时函数,在 main函数主循环中添加
相关语句。下面注释部分为流水灯程序,上面没有注释的为闪灯程序,若要进行流水灯实验
可以将上面的语句注释,然后下面的取消注释,编译就可以了。如下图红框部分:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
连接好 Jlink,点击 DEBUG,然后点击全速运行,若为闪灯程序,则可以看到 LED4
闪烁,若为流水灯程序,则可以看到三个流水灯循环点亮熄灭。
五、Timer实验
现在我们在最简代码基础上进行定时器实验。
Timer实验的 Keil工程 Simple_Timer.uvproj,位于目录:..\DA14580DKAK开发板\教程\1初级教程\
定时器实验。
在工程目录 Source Files分组中添加 pwm.c以及 gpio.c文件,如下图红框部分所示:
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分所示:
在 main函数文件中添加 pwm.h、gpio.h头文件,并定义 timer_init()函数,在 main函数
中添加定时器初始化函数 timer_init();,如下图所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
在 pwm.c文件中添加头文件 gpio.h、 peripherals.h,并在定时中断函数 void
SDA14580DKAKIM_Handler(void)中添加任务代码,如下图红框部分所示:
连接好 Jlink,点击 DEBUG,然后点击全速运行,若为闪灯程序,则可以看到 LED4闪烁,
若为流水灯程序,则可以看到三个流水灯循环点亮熄灭。程序的选择与 GPIO实验类似。
六、ADC实验
现在我们在最简代码基础上进行 ADC实验。
ADC实验的 Keil工程 Simple_ADC.uvproj,位于目录:..\ DA14580DKAK开发板\教程\1初级教程\模
数转换实验。
在工程目录 Source Files分组中添加 adc.c、gpio.c文件,如下图红框部分所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分所示:
在 main函数文件中添加 gpio.h、adc.h头文件,在 main函数中添加 adc_get_result();函
数等,如下图红框部分所示:
连接好 Jlink,点击 DEBUG,然后点击全速运行,调节可调电阻,如果模数转换的值大
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
于 800则亮三个 LED,大于 500小于 800则亮两个 LED,大于 200小于 500则亮 1个 LED,
小于 200则 LED全灭。
七、INT实验
现在我们在最简代码基础上进行中断实验。
INT实验的 Keil工程 Simple_INT.uvproj,位于目录:..\ DA14580DKAK开发板\教程\1初级教程\中断
实验。
在工程目录 Source Files分组中添加 gpio.c文件,如下图红框部分所示:
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分所示:
在 main函数文件中添加 gpio.h头文件,并定义中断初始化函数 gpio_int()函数以及中断
函数,在 main函数中开中断等,如下图红框部分所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
连接好 Jlink,点击 DEBUG,然后点击全速运行,按下按键 B2则 LED4亮,按下按键 B3
则 LED4灭。
八、UART实验
现在我们在最简代码基础上进行串口实验。
SPI实验的 Keil工程 Simple_UART.uvproj,位于目录:..\ DA14580DKAK开发板\教程\1初级教程\串
口实验。
在工程目录 Source Files分组下添加 uart.c、gpio.c文件,如下图红框部分所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
在 peripherals.h文件中添加宏定义,如下图红框所示:
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分:
在 main函数文件中添加 uart.h头文件,并定义 gpio_int()、uart_pc()以及中断函数,在
main函数中添加中断初始化函数 gpio_int(),串口初始化函数 uart_init()等,如下图红框部分
所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
串口实验包括两个实验,一个是与 PC串口调试助手通信,一个是板子之间的通信,他
们之间可以通过 peripherals.h文件中的宏定义 UART_PC来切换。
连接好 Jlink以及串口模块,打开串口调试助手,点击 DEBUG,然后点击全速运行,就
可以看到串口调试助手打印出的信息,并且发送什么数据就回复什么数据,如下图所示:
两个板子之间进行通信,利用杜邦线连接两个板子的串口(注意交叉连接),还有 GND。
两个板子都下载好程序之后,按下按键 B2,则另外一个板子的电机震动,按下按键 B3,则
另外一个板子的电机停止振动。
九、I2C实验
现在我们在最简代码基础上进行 I2C实验。
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
9.1实时时钟实验
该实验请参考《实时时钟专题讲解》,位于目录:..\DA14580DKAK开发板\教程\ 专题下。
9.2 MPU实验
该实验请参考《MPU专题讲解》,位于目录:..\DA14580DKAK开发板\教程\ 专题下。
十、SPI实验
现在我们在最简代码基础上进行 SPI实验。
SPI实验的 Keil工程 Simple_SPI.uvproj,位于目录:..\ DA14580DKAK开发板\教程\1初级教程\SPI
实验。
10.1 SPI板子之间通信实验
在工程目录 Source Files分组下添加 spi.c、gpio.c文件,如下图红框部分所示:
在 peripherals.h文件中添加宏定义,如下图红框所示:
在 peripherals.c文件中的 set_pad_functions(void)函数中添加相应 GPIO口的配置,如下
图红框部分所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
在 main函数文件中添加 spi.h头文件,并且定义 gpio_int()函数以及 SPI、GPIO中断函数。
在 main函数中添加初始化函数并开中断。如下图所示:
官网地址:http://www.open-ble.org
http://www.open-ble.org





DA14580DKAK开发板系列
转载请注明出处
将 SPI主从程序(可以通过 pheripherals.h中的宏定义 SPI_MASTER,SPI_SLAVE来改变主
从)分别下载到两个板子中,然后用杜邦线连接好两个开发板(根据宏定义的引脚连接主板
P06->从板 P01,P00->P00,GND->GND),按主开发板上的按键 B2则另一个开发板上的 LED6
会亮,按下按键 B3,则另一个开发板上的 LED6熄灭。
10.2 SPI读写 FLASH实验
该实验见《SPI FLASH专题讲解》,位于目录:..\DA14580DKAK开发板\教程\ 专题下。
官网地址:http://www.open-ble.org
http://www.open-ble.org


你可能感兴趣的:(open-ble.org 开源蓝牙ble-1_DA14580初级入门教程5: 裸机实验教程)