mcgrady_tracy
码龄13年
关注
提问 私信
  • 博客:1,698,057
    社区:62
    1,698,119
    总访问量
  • 364
    原创
  • 1,444,259
    排名
  • 526
    粉丝
  • 2
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2011-11-08
博客简介:

Tracy Mcgrady的专栏

博客描述:
冰山一角。
查看详细资料
个人成就
  • 获得306次点赞
  • 内容获得180次评论
  • 获得776次收藏
  • 代码片获得299次分享
创作历程
  • 2篇
    2018年
  • 11篇
    2017年
  • 27篇
    2016年
  • 51篇
    2015年
  • 104篇
    2014年
  • 74篇
    2013年
  • 83篇
    2012年
  • 57篇
    2011年
成就勋章
TA的专栏
  • C&C++
    50篇
  • 数据结构和算法
    19篇
  • QT
    12篇
  • shell编程
    4篇
  • 汇编
    20篇
  • u-boot
    7篇
  • linux移植
    16篇
  • linux驱动
    31篇
  • android
    21篇
  • 电子技术
    1篇
  • ARM
    5篇
  • 单片机
    20篇
  • USB
    10篇
  • 基础
    71篇
  • 数字图像处理
    13篇
  • linux-0.11
    4篇
  • linux_drivers
    41篇
  • linux_application
    21篇
  • 数学知识
    1篇
  • Perl
    4篇
  • mtk开发
    19篇
  • ios
  • vala&rust
    3篇
  • 蓝牙开发
    9篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

RT-Thread线程

1. 线程创建线程的创建可以使用rt_thread_create()函数,原型如下:rt_thread_t rt_thread_create(const char *name, void (*entry)(void *parameter), void *paramet
原创
发布博客 2018.02.05 ·
1492 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

RT-Thread初探

试验平台:正点原子探索者STM32F407开发板一、RT-Thread介绍RT-Thread是由国内开发者主导开发的一款开源嵌入式实时操作系统,它包含:操作系统内核、TCP/IP协议栈、文件系统、libc接口,图形引擎等等。RT-Thread官网:https://www.rt-thread.org/代码地址:https://github.com/RT-Thread/rt-thread二、RT-Th...
原创
发布博客 2018.02.01 ·
8401 阅读 ·
4 点赞 ·
2 评论 ·
16 收藏

libopencm3库的使用

libopencm3是开源的cortex-m系列单片机的固件库,支持stm32、atmel、nxp等等系列单片机。在Linux下编译需要交叉编译器gcc,从这里下载:https://launchpad.net/gcc-arm-embedded/+download,下载编译好的Linux下的版本就可以了。解压缩,设置环境变量,使用arm-none-eabi-gcc -v命令测试一下设
原创
发布博客 2017.11.10 ·
5497 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

第九篇 蓝牙配对

不管是经典蓝牙也好,还是BLE也好,配对方式都有四种,分别是:1. Numeric Comparison2. Just Works3. Out of Band4. Passkey Entry而ble_app_template这个工程默认是采用的Just Works这种配对方式,这种方式是不需要配对码的,也就是直连的。而这里我们要改成使用动态密码方式进行配对,也就是P
原创
发布博客 2017.11.02 ·
4222 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

第八篇 uCGUI的移植

uCGUI版本:v3.98屏:OLED前面显示字符串我们自己定义了一个字库,uCGUI中肯定也是有字库支持的,这里的移植目标也是调用GUI_DispString()函数后能正确显示出字符,这里不会将uCGUI的所有功能添加进工程中,所以还是以显示字符为前提。首先将uCGUI中的Start/GUI和Start/Config两个目录拷贝到项目中。然后将Sampl
原创
发布博客 2017.09.21 ·
4635 阅读 ·
2 点赞 ·
2 评论 ·
10 收藏

第七篇 OLED屏

OLED即Organic Light-Emitting Diode,相比LCD的屏,LCD屏需要背光,而OLED不需要,因为它本身就是发光的。开发板上的屏使用的驱动IC是SSD1306,支持并口、I2C和SPI等接口,可以根据自身需要进行灵活的配置。具体是使用的哪种接口,是通过芯片BS0、BS1、BS2三个引脚来控制的,如图所示:另外,我拿到的屏是配置成四线SPI接口的,而不是
原创
发布博客 2017.09.15 ·
3842 阅读 ·
0 点赞 ·
3 评论 ·
16 收藏

第六篇 蜂鸣器和app_timer

开发板上的蜂鸣器是有源的,所以控制上相对比较简单,要让蜂鸣器出声,只需要把控制gpio口拉高就可了。什么时候关闭蜂鸣器呢?有两种办法,一是在打开蜂鸣器之后加上一段延时,然后再关闭蜂鸣器。二是使用timer,加延时不好的地方在于蜂鸣器发声之后cpu就不能做其他工作了,在有些情况下会影响用户体验,所以呢,这里需要使用timer来控制。在蓝牙样板程序中已经有app_timer的初始化,对
原创
发布博客 2017.09.12 ·
2121 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

第五篇 按键

实际上在蓝牙样板程序中已经包含了按键部分的初始化,我们只需要根据自己的板子做很少的配置工作,buttons_init()函数如下:static void buttons_init(void){ // Note: Array must be static because a pointer to it will be saved in the Button handler //
原创
发布博客 2017.09.11 ·
604 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

第四篇 串口通信

在单片机程序开发中除了单步调试外,最有效的调试方法算是打印调试了,所以这里先把串口功能调试好,也方便以后的调试开发。nRF51822带有一个UART接口,但是没有固定的TX、RX引脚,是可以任意配置到不同的IO引脚上,这也为硬件上连线提供了方便。Ok,我们在蓝牙样板程序中增加UART功能。首先是串口初始化,串口初始化可以使用simple_uart.c提供的simple_ua
原创
发布博客 2017.08.27 ·
2044 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

第三篇 蓝牙工程样例模板

如何使用nRF8122来开发蓝牙应用呢?实际上在安装了Keil的nRF8122软件支持包之后,在Keil目录下,有蓝牙开发的模板示例程序,目录为:C:\Keil\ARM\Device\Nordic
rf51822\Board
rf6310\s110\ble_app_template这个程序是Nordic为蓝牙开发者提供的一个模板程序,这个程序是能够直接编译成功的。先Down
原创
发布博客 2017.08.25 ·
1862 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

第二篇 点亮led灯

在上一篇,开发环境建立好了,那么接下来开发一个简单的应用,点亮一个led灯。首先新建一个工程,Device选择nRF51822_xxAA。工程建立好之后,接下来编写一个main.c来点亮led灯,代码如下:#include #include #define LED_INDEX 16void init_led(void){ nrf_gpio_cfg_output(LED
原创
发布博客 2017.08.22 ·
3878 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

第一篇 开发环境的建立

开发环境:Windows7 + 青云蓝牙开发套件nRF51822是由挪威Nordic公司推出的低功耗蓝牙解决方案,基于Cortex M0内核,开发环境使用的是Keil软件。那么首先是安装Keil,光盘中给了一个4.7的Keil版本,直接安装就可以了。然后是需要破解,使用keygen生成一个License ID然后添加进去就可以了。官方提供的Keil软件并不支持nRF
原创
发布博客 2017.08.22 ·
524 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux driver oops异常的处理

如果Linux驱动里面出现了oops异常,这种情况如何快速定位到底什么原因引起的呢,需要对驱动debug。例如:#include #include static int __init hello_init(void){ int *p = NULL; *p = 0; return 0;}static void __exit hello_exit(void){}mo
原创
发布博客 2017.04.07 ·
3895 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

C++引用

一. C++中的引用引用(reference)实际上是为对象定义了一个别名,主要用作函数的形参。引用通过在变量名前加上"&"符号来定义。例如:int ival = 1024;int &refVal = ival; // ok: refVal refers to ivalint &refVal2; // error: a reference must be initia
原创
发布博客 2016.11.30 ·
447 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Android权限问题

SELinux是什么?即Security-Enhanced Linux,是由美国国家安全局(NSA)发起,基于Linux开发的一个安全增强系统,旨在提高系统的安全性。而SEAndroid基于SELinux,在Android5.0上被正式启用。SELinux有3种操作模式,分别是Disabled、Permissive、Enforcing,在android中可以通过输入adb命令get
原创
发布博客 2016.11.18 ·
2101 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

mtk平台充电器检测

平台:mt6735 5.1首先来看BAT_thread()。void BAT_thread(void){ static kal_bool battery_meter_initilized = KAL_FALSE; if (battery_meter_initilized == KAL_FALSE) { battery_meter_initial(); /* move from b
原创
发布博客 2016.11.04 ·
7840 阅读 ·
2 点赞 ·
4 评论 ·
22 收藏

mtk电池温度检测

平台:mt6735+mt6328 Android版本:Android5.1手机里面电池通常有4个引脚,即电池的+、-极,ID引脚、NTC引脚。id引脚用来识别电池的类型,例如是锂电池还是镍氢电池,不过现在手机上基本用的都是锂电池了。而NTC引脚主要用来测量电池温度的,还可以用来检测手机有没有按上电池,那么这里就来说明这两个功能。1. 电池检测在mt6735+mt6328平台方案
原创
发布博客 2016.10.14 ·
10587 阅读 ·
2 点赞 ·
0 评论 ·
27 收藏

ALSA lib调用实例

1. Display Some PCM Types and Formats#include int main() { int val; printf("ALSA library version: %s
", SND_LIB_VERSION_STR); printf("
PCM stream types:
"); for (val = 0; val
原创
发布博客 2016.09.22 ·
3201 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

ubuntu 12.04安装alsa-lib、alsa-utils

1. alsa-lib./configuresudo make install注意:默认是安装到/usr/这个目录下面,但是我测试多了多次,安装了alsa-lib之后,系统就没有声音了,也没有找到是什么原因。不得已,先安装到其他目录试试:./configure --prefix=$HOME/alsa-lib/make && make install2. alsa-u
原创
发布博客 2016.09.11 ·
6720 阅读 ·
2 点赞 ·
1 评论 ·
2 收藏

wav音频文件格式解析

wav是微软开发的一种音频文件格式,注意,wav文件格式是无损音频文件格式,想对于其他音频格式文件数据是没有经过压缩的,通常文件也相对比较大些。文件格式如图所示:解析代码如下:#include #include #include struct WAV_Format { uint32_t ChunkID; /* "RIFF" */ uint32_t ChunkSize
原创
发布博客 2016.09.11 ·
20821 阅读 ·
4 点赞 ·
3 评论 ·
31 收藏
加载更多