<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40993639的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_40993639</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_40993639]]></copyright><item><title><![CDATA[如何查看MCU编译生成的elf(out)文件内容]]></title><link>https://blog.csdn.net/qq_40993639/article/details/140101860</link><guid>https://blog.csdn.net/qq_40993639/article/details/140101860</guid><author>qq_40993639</author><pubDate>Mon, 01 Jul 2024 15:42:56 +0800</pubDate><description><![CDATA[查看ELF文件内容]]></description><category></category></item><item><title><![CDATA[OOB配对原理及应用]]></title><link>https://blog.csdn.net/qq_40993639/article/details/130790049</link><guid>https://blog.csdn.net/qq_40993639/article/details/130790049</guid><author>qq_40993639</author><pubDate>Sun, 21 May 2023 15:51:43 +0800</pubDate><description><![CDATA[本文先简单介绍OOB配对的流程，然后结合CC2652蓝牙芯片调试OOB配对]]></description><category></category></item><item><title><![CDATA[蓝牙协议栈之L2CAP使用]]></title><link>https://blog.csdn.net/qq_40993639/article/details/130540160</link><guid>https://blog.csdn.net/qq_40993639/article/details/130540160</guid><author>qq_40993639</author><pubDate>Sun, 07 May 2023 12:35:15 +0800</pubDate><description><![CDATA[本文记录对蓝牙协议栈逻辑链路及自适应协议层的学习还有后面如何在TI的蓝牙芯片上去实现L2CAP CoC的数据透传，为什么用L2CAP CoC进行数据透传呢？因为它每次透传的数据量远远能比GATT大，如果堆够用的话可以传输64KB，而GATT数据透传限于ATT-MTU，最多每次能传输的也就247个字节。使用L2CAP总结如下：主机和从机都可以请求建立L2CAP COC通道。一旦L2CAP连接建立成功之后，协议栈会发送到应用层，具体的事件是，这个是双方都会触发的事件。]]></description><category></category></item><item><title><![CDATA[CC26X2获取RSSI方法二-连接事件获取法]]></title><link>https://blog.csdn.net/qq_40993639/article/details/130186016</link><guid>https://blog.csdn.net/qq_40993639/article/details/130186016</guid><author>qq_40993639</author><pubDate>Sun, 16 Apr 2023 19:03:08 +0800</pubDate><description><![CDATA[本文记录了获取连接事件的对应RF通道的RSSI，可进一步做蓝牙定位]]></description><category></category></item><item><title><![CDATA[CC2642的GGS使用笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/130182451</link><guid>https://blog.csdn.net/qq_40993639/article/details/130182451</guid><author>qq_40993639</author><pubDate>Sun, 16 Apr 2023 18:06:29 +0800</pubDate><description><![CDATA[本文主要记录在CC26XX上建一个蓝牙GATT服务的代码实现]]></description><category></category></item><item><title><![CDATA[SPI+DMA传输性能比较]]></title><link>https://blog.csdn.net/qq_40993639/article/details/129106468</link><guid>https://blog.csdn.net/qq_40993639/article/details/129106468</guid><author>qq_40993639</author><pubDate>Sun, 19 Feb 2023 01:27:49 +0800</pubDate><description><![CDATA[第一次我是以SPI+DMA驱动LCD显示240X82的图片，可以看出显示该图片在有DMA（加DMA中断）的加持下，耗时156us。第二次是我单独用SPI驱动LCD显示240X82的图片，耗时8685us，所以区别还是蛮大的。本文章仅仅简单记录32单片机的SPI+DMA驱动显示屏的性能测试，这里不花费时间介绍SPI和DMA。这里我定时器计数频率分频到1Mhz，最大计数50000次，也是就计数频率1us，周期50ms。（2）SPI的读写接口（非DMA情况下需要使用到）（3）SPI的DMA配置初始化。]]></description><category></category></item><item><title><![CDATA[CC2642获取主机RSSI值]]></title><link>https://blog.csdn.net/qq_40993639/article/details/127194863</link><guid>https://blog.csdn.net/qq_40993639/article/details/127194863</guid><author>qq_40993639</author><pubDate>Fri, 07 Oct 2022 16:05:14 +0800</pubDate><description><![CDATA[  本篇文章记录使用CC2642作外设，连接手机，获取手机蓝牙的RSSI信号强度。本次的实验是在ProjectZero例程基础上编写实现的，我的思路是打算周期性的读取RSSI值，所以我会先定义一个定时器，然后再定时器的回调事件中去发送读RSSI的命令。本实验获取RSSI的步骤如下：
2.初始化一个定时器

3.定时器回调函数的编写

4.等待事件的处理
  在函数ProjectZero_taskFxn中加入一下的语句：
5.查看Read Rssi命令的完成处理：

  上面的这个Read Rssi命令的完成]]></description><category></category></item><item><title><![CDATA[蓝牙协议之GATT学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/126281437</link><guid>https://blog.csdn.net/qq_40993639/article/details/126281437</guid><author>qq_40993639</author><pubDate>Sun, 28 Aug 2022 22:52:58 +0800</pubDate><description><![CDATA[学习 蓝牙协议栈的GATT]]></description><category></category></item><item><title><![CDATA[蓝牙协议栈基础学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/126326978</link><guid>https://blog.csdn.net/qq_40993639/article/details/126326978</guid><author>qq_40993639</author><pubDate>Sun, 28 Aug 2022 22:45:20 +0800</pubDate><description><![CDATA[记录蓝牙协议栈的一些基础知识]]></description><category></category></item><item><title><![CDATA[蓝牙协议之配对和绑定学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/126326772</link><guid>https://blog.csdn.net/qq_40993639/article/details/126326772</guid><author>qq_40993639</author><pubDate>Sun, 28 Aug 2022 22:43:17 +0800</pubDate><description><![CDATA[学习和掌握蓝牙协议栈中的配对和绑定原理]]></description><category></category></item><item><title><![CDATA[RT_thread的IIC设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/124255758</link><guid>https://blog.csdn.net/qq_40993639/article/details/124255758</guid><author>qq_40993639</author><pubDate>Sun, 07 Aug 2022 01:09:19 +0800</pubDate><description><![CDATA[目录前言1 IIC简介2 RTthread IIC总线设备API3 IIC总线设备应用实践

前言
本笔记记录了RT_thread系统IIC总线设备的学习，包括简单总结IIC工作原理、API函数的解读和应用。
提示：以下是本篇文章正文内容，下面案例可供参考
1 IIC简介
IIC是嵌入式开发中较常见的总线协议，协议包含两条线，一条时钟线和数据线，实现半双工双向通信。IIC有从主设备之分，并且允许总线上同时存在多个主设备，但是不同时使用，每个挂载在总线上的设备都有唯一的地址，主设备启动数据传输并产生时钟信号，]]></description><category></category></item><item><title><![CDATA[RT_threadのQSPI总线设备驱动W25Q]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123603177</link><guid>https://blog.csdn.net/qq_40993639/article/details/123603177</guid><author>qq_40993639</author><pubDate>Sun, 17 Apr 2022 22:48:00 +0800</pubDate><description><![CDATA[本文仅仅记录使用RTT的QSPI总线设备驱动W25Q]]></description><category></category></item><item><title><![CDATA[RT_threadのSPI设备驱动W25Q/NM25Q128]]></title><link>https://blog.csdn.net/qq_40993639/article/details/124161082</link><guid>https://blog.csdn.net/qq_40993639/article/details/124161082</guid><author>qq_40993639</author><pubDate>Sat, 16 Apr 2022 14:27:29 +0800</pubDate><description><![CDATA[本篇文章记录利用RTthread的SPI设备来驱动NM25Q，熟悉RTthread的SPI设备。另外对SPI flash（NM25Q/W25Q）不做介绍，仅仅是按照手册上的时序编写代码。NM25Q和W25Q基本上是一样的，只不过是设备厂商ID不一样。本次用的是一颗NM25Q128芯片做实践。
1 将NM25Q挂载到SPI总线上
/*先定义一个SPI设备对象*/
struct rt_spi_device * sp.]]></description><category></category></item><item><title><![CDATA[RT_threadのSPI设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123499905</link><guid>https://blog.csdn.net/qq_40993639/article/details/123499905</guid><author>qq_40993639</author><pubDate>Thu, 17 Mar 2022 22:22:00 +0800</pubDate><description><![CDATA[前言
    SPI作为基本的通信协议，广泛应用在嵌入式产品中，它是一种高速、全双工、同步通信总线，目前接触的较多的是SPI、QSPI，Dual SPI暂时没接触到，这里不对SPI总线基础知识做记录，本文仅仅是Rt_thread系统下的SPI设备学习笔记，学习RT_thread中对SPI设备的封装，从其设备驱动层、设备框架驱动层以及应用层入手学习，最终实现使用stm32的SPI驱动LCD显示屏，用Q]]></description><category></category></item><item><title><![CDATA[Rt_threadのADC设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123468918</link><guid>https://blog.csdn.net/qq_40993639/article/details/123468918</guid><author>qq_40993639</author><pubDate>Mon, 14 Mar 2022 22:39:25 +0800</pubDate><description><![CDATA[ADC(Analog to Digital Converter)模数转换器，它的作用是将外界的模拟信号转化为离散数字信号，什么是外界的模拟信号呢？比较好理解，例如温湿度，无线信号的RSSI强度，声光，角度等等。对于一些低端的微控制器，片上只能依靠另外的ADC转换芯片实现模拟信号的采集，对于一些好一点的单片机，基本上都拥有片上ADC资源。ADC的转换一般过程是：取样->保持和量化->数字编码。
&emsp;&emsp;本文为RT_thread操作系统下的ADC设备学习笔记]]></description><category></category></item><item><title><![CDATA[RT_threadの自动初始化机制]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123475106</link><guid>https://blog.csdn.net/qq_40993639/article/details/123475106</guid><author>qq_40993639</author><pubDate>Mon, 14 Mar 2022 20:13:55 +0800</pubDate><description><![CDATA[目录前言1. 程序的内存分布2.自动初始化机制2.1 自动初始化原理解析2.2 实践测试自动初始化
前言
  在刚开始学习单片机嵌入式时，我们初始化一些外设资源都是直接在while(1)前面调用外设的初始化函数，这样写虽然可以清楚的看到系统中用到了哪些外设，但是如果外设很多的话，一连续的初始化函数看起来就有点不舒服。而在RT_thread中存在自动初始化机制，它的原理就是用一个函数表，将要初始化的函数指针加入该表中，遍历该表执行每一个初始化函数。本文记录学习RT_thread的自动初始化机制。
1. 程序的]]></description><category></category></item><item><title><![CDATA[RT_threadのUART设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123341989</link><guid>https://blog.csdn.net/qq_40993639/article/details/123341989</guid><author>qq_40993639</author><pubDate>Wed, 09 Mar 2022 00:33:43 +0800</pubDate><description><![CDATA[前言
串口，做嵌入式都会使用到，那么我们这一节记录学习下rt_thread系统中的UART设备。RT_thread提供下面的I/O设备管理接口来访问串口硬件：




函数
描述




rt_device_find
根据串口设备名称查找设备获取设备句柄


rt_device_open
打开设备


rt_device_read
读取数据


rt_d.]]></description><category></category></item><item><title><![CDATA[RT_Thread的PIN设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123315920</link><guid>https://blog.csdn.net/qq_40993639/article/details/123315920</guid><author>qq_40993639</author><pubDate>Mon, 07 Mar 2022 22:41:13 +0800</pubDate><description><![CDATA[文章目录总结一、pandas是什么？二、使用步骤1.引入库2.读入数据总结

总结
RT_thread提供了下面的几个函数（PIN设备管理接口）来访问GPIO，如下：




函数
描述




rt_pin_mode()
设置引脚模式


rt_pin_write()
设置引脚电平


rt_pin_read()
读取引脚电平


rt_pin_attach_irq()
绑定引脚中断回调函数


rt_pin_irq_enable()
使能引脚中断


rt_pin_detach_irq()
脱离引脚中断]]></description><category></category></item><item><title><![CDATA[RT_threadのIO设备学习笔记]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123287948</link><guid>https://blog.csdn.net/qq_40993639/article/details/123287948</guid><author>qq_40993639</author><pubDate>Sun, 06 Mar 2022 19:45:26 +0800</pubDate><description><![CDATA[总结：
RT_thread有一套I/O设备模型框架，如下图：

 图1 I/O设备模型框架
 设备驱动通过函数rt_device_register将自己注册到IO设备管理器。应用程序可以使用函数rt_device_find查找设备；使用函数rt_device_open打开设备；使用函数rt_device_read读取设备数据；使用函数rt_device_close关闭设备。
 RT_thread的设备模型是建立在内核对象模型基础之上的，每个设备都有继承关系，如图：

图2 设备继承关系
IO设备内核代码解析]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.csdn.net/qq_40993639/article/details/123171907</link><guid>https://blog.csdn.net/qq_40993639/article/details/123171907</guid><author>qq_40993639</author><pubDate>Sun, 27 Feb 2022 22:38:29 +0800</pubDate><description><![CDATA[Shell:计算机语义命令解释器
（1）开启一个终端：CTR+ALT+T
（2）关闭一个终端：ALT+F4
（3）shell提示符
  #:一般表示你是超级用户，root
  $:一般表示你是普通用户
  怎么切换用户？
  答：sudo su	从当前的用户切换为Root用户
  su user  从Root用户切换为普通用户，其中的user是安装时候用的用户名
  或者直接输入exit，也可以Ctrl+D组合键退出Root用户
（4）清除屏幕：Clear 快捷键：CTR+L
（5）查看你当前所在位置：PW]]></description><category></category></item></channel></rss>