Tracy Mcgrady的专栏

冰山一角。

RT-Thread线程

1. 线程创建 线程的创建可以使用rt_thread_create()函数,原型如下:rt_thread_t rt_thread_create(const char *name, void (*entry)(void *parameter...

2018-02-05 16:40:07

阅读数 435

评论数 0

RT-Thread初探

试验平台:正点原子探索者STM32F407开发板一、RT-Thread介绍RT-Thread是由国内开发者主导开发的一款开源嵌入式实时操作系统,它包含:操作系统内核、TCP/IP协议栈、文件系统、libc接口,图形引擎等等。RT-Thread官网:https://www.rt-thread.org...

2018-02-01 16:55:53

阅读数 2277

评论数 0

libopencm3库的使用

libopencm3是开源的cortex-m系列单片机的固件库,支持stm32、atmel、nxp等等系列单片机。 在Linux下编译需要交叉编译器gcc,从这里下载:https://launchpad.net/gcc-arm-embedded/+download,下载编译好的Linux下的...

2017-11-10 17:32:49

阅读数 1829

评论数 0

第九篇 蓝牙配对

不管是经典蓝牙也好,还是BLE也好,配对方式都有四种,分别是: 1. Numeric Comparison 2. Just Works 3. Out of Band 4. Passkey Entry 而ble_app_template这个工程默认是采用的Just Works这种配对方式,这种方式...

2017-11-02 14:05:01

阅读数 485

评论数 0

第八篇 uCGUI的移植

uCGUI版本:v3.98 屏:OLED 前面显示字符串我们自己定义了一个字库,uCGUI中肯定也是有字库支持的,这里的移植目标也是调用GUI_DispString()函数后能正确显示出字符,这里不会将uCGUI的所有功能添加进工程中,所以还是以显示字符为前提。 首先将uCGUI中的Sta...

2017-09-21 16:51:21

阅读数 2958

评论数 1

第七篇 OLED屏

OLED即Organic Light-Emitting Diode,相比LCD的屏,LCD屏需要背光,而OLED不需要,因为它本身就是发光的。 开发板上的屏使用的驱动IC是SSD1306,支持并口、I2C和SPI等接口,可以根据自身需要进行灵活的配置。具体是使用的哪种接口,是通过芯片BS0、BS...

2017-09-15 18:29:07

阅读数 1334

评论数 3

第六篇 蜂鸣器和app_timer

开发板上的蜂鸣器是有源的,所以控制上相对比较简单,要让蜂鸣器出声,只需要把控制gpio口拉高就可了。 什么时候关闭蜂鸣器呢?有两种办法,一是在打开蜂鸣器之后加上一段延时,然后再关闭蜂鸣器。二是使用timer,加延时不好的地方在于蜂鸣器发声之后cpu就不能做其他工作了,在有些情况下会影响用户体...

2017-09-12 11:11:23

阅读数 999

评论数 0

第五篇 按键

实际上在蓝牙样板程序中已经包含了按键部分的初始化,我们只需要根据自己的板子做很少的配置工作,buttons_init()函数如下:static void buttons_init(void) { // Note: Array must be static because a pointer...

2017-09-11 16:32:37

阅读数 266

评论数 0

第四篇 串口通信

在单片机程序开发中除了单步调试外,最有效的调试方法算是打印调试了,所以这里先把串口功能调试好,也方便以后的调试开发。 nRF51822带有一个UART接口,但是没有固定的TX、RX引脚,是可以任意配置到不同的IO引脚上,这也为硬件上连线提供了方便。 Ok,我们在蓝牙样板程序中增加UART功能。...

2017-08-27 18:17:11

阅读数 899

评论数 0

第三篇 蓝牙工程样例模板

如何使用nRF8122来开发蓝牙应用呢? 实际上在安装了Keil的nRF8122软件支持包之后,在Keil目录下,有蓝牙开发的模板示例程序,目录为: C:\Keil\ARM\Device\Nordic\nrf51822\Board\nrf6310\s110\ble_app_template...

2017-08-25 09:03:40

阅读数 892

评论数 0

第二篇 点亮led灯

在上一篇,开发环境建立好了,那么接下来开发一个简单的应用,点亮一个led灯。 首先新建一个工程,Device选择nRF51822_xxAA。 工程建立好之后,接下来编写一个main.c来点亮led灯,代码如下:#include #include #define LED_INDEX 16 ...

2017-08-22 11:40:30

阅读数 841

评论数 0

第一篇 开发环境的建立

开发环境:Windows7 + 青云蓝牙开发套件 nRF51822是由挪威Nordic公司推出的低功耗蓝牙解决方案,基于Cortex M0内核,开发环境使用的是Keil软件。 那么首先是安装Keil,光盘中给了一个4.7的Keil版本,直接安装就可以了。 然后是需要破解,使用keygen生成...

2017-08-22 11:34:02

阅读数 301

评论数 0

Linux driver oops异常的处理

如果Linux驱动里面出现了oops异常,这种情况如何快速定位到底什么原因引起的呢,需要对驱动debug。 例如:#include #include static int __init hello_init(void) { int *p = NULL; *p = 0; return ...

2017-04-07 16:27:05

阅读数 1653

评论数 0

C++引用

一. C++中的引用 引用(reference)实际上是为对象定义了一个别名,主要用作函数的形参。 引用通过在变量名前加上"&"符号来定义。 例如:int ival = 1024; int &refVal = ival; // ok: refV...

2016-11-30 17:16:38

阅读数 248

评论数 0

Android权限问题

SELinux是什么?即Security-Enhanced Linux,是由美国国家安全局(NSA)发起,基于Linux开发的一个安全增强系统,旨在提高系统的安全性。 而SEAndroid基于SELinux,在Android5.0上被正式启用。 SELinux有3种操作模式,分别是Disabl...

2016-11-18 16:28:53

阅读数 1478

评论数 1

mtk平台充电器检测

平台:mt6735 5.1 首先来看BAT_thread()。void BAT_thread(void) { static kal_bool battery_meter_initilized = KAL_FALSE; if (battery_meter_initilized == KAL_F...

2016-11-04 16:34:33

阅读数 4694

评论数 4

mtk电池温度检测

平台:mt6735+mt6328 Android版本:Android5.1 手机里面电池通常有4个引脚,即电池的+、-极,ID引脚、NTC引脚。id引脚用来识别电池的类型,例如是锂电池还是镍氢电池,不过现在手机上基本用的都是锂电池了。而NTC引脚主要用来测量电池温度的,还可以用来检测手机有没有按...

2016-10-14 18:29:55

阅读数 5982

评论数 0

ALSA lib调用实例

1. Display Some PCM Types and Formats#include int main() { int val; printf("ALSA library version: %s\n", SND_LIB_VERSION_S...

2016-09-22 10:31:55

阅读数 2195

评论数 0

ubuntu 12.04安装alsa-lib、alsa-utils

1. alsa-lib ./configure sudo make install 注意:默认是安装到/usr/这个目录下面,但是我测试多了多次,安装了alsa-lib之后,系统就没有声音了,也没有找到是什么原因。不得已,先安装到其他目录试试: ./configure --prefix=$HOM...

2016-09-11 12:42:21

阅读数 3906

评论数 1

wav音频文件格式解析

wav是微软开发的一种音频文件格式,注意,wav文件格式是无损音频文件格式,想对于其他音频格式文件数据是没有经过压缩的,通常文件也相对比较大些。 文件格式如图所示: 解析代码如下: #include #include #include struct WAV_Format { uint...

2016-09-11 09:07:56

阅读数 11745

评论数 3

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