自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 rt-thread的nfs如何实现软硬件对接

图里上层部分理解为 dfs_elm.c是封装好调用fatfs的应用程序,然后把自己的接口ops注册到rtt的dfs,rtt的dfs再提供接口给到通用的posix层,然后上层就能使用open,write,read等文件接口。这个函数就是上面文章里要给fatfs提供的硬件接口函数,前面记录了对应块设备id到disk[drv],drv又是挂载fat的时候保存的,这里属于fatfs的内容不去细究,到这里就知道了最后硬件接口是怎么跟文件系统链接起来的。二、硬件初始化:根据具体的文件系统执行具体的初始化流程。

2024-04-05 20:58:09 735

原创 leetcode第7题:整数反转/第8题:字符串转换

可以从反转后的高位开始遍历即输入的低位开始往高遍历,边遍历边累计,即将出现越界的话那就返回0.这道题我不理解为啥超越100%,提交两次都是,可能c用的人少。将这个数反转后返回,保留符号位,如果反转后出现越界则返回0。这道题相对比较简单,主要是有一些要注意的点,一个有符号的32位整形数。2、出现越界后返回了0,1、不使用64位的变量。

2023-11-13 14:23:26 43

原创 leetcode第6题:N字形变化

这里通过找规律的方法,但是这个规律只适用于 numRows >= 3的情况,其他情况要单独拎出来,最后重新排列出来的数组就是按。输出:返回一个根据N的形状排列的数组,根据官方的题意相当于对这个字符串重新排列返回一个新的字符串。这里以一个 numRows = n为例子讲,如下图,输入:字符串 ,行数。

2023-11-07 15:50:51 47

原创 leetcode第5题:最长回文子串

回文数的规矩是:aba或者aa这种,提交题目才发现 a这种当个字符也算,所以找到找不到的时候就返回第一个字符。这里找到最长的字符串然后malloc后返回就行了。

2023-10-31 15:17:09 51 1

原创 leetcode第4题:寻找两个正序数组的中位数

这里以一个例子来说明思路,下面两个数组(管它们叫数组a,数组b,合并的数组叫c)一个size是2一个是3,总数就是5为奇数,那我们的目标就是找到排序后下标为[2]的元素即c[2]。这里两个数组都不为空,我们先定两个索引,一个指向数组a[0],一个指向b[0],因为a[0]=3 < b[0]=4,那a[0]就是合并后的数组的第0个元素c[0],所以c[0]等于3;接下来就不重复描述了,这时候得到了a[1]=7 > b[1]=6,因此c[2]就是b[1],这里我们也找到了目标的中位数c[2],

2023-10-29 15:39:10 24

原创 leetcode第3题:无重复字符的最长子串

这道题需要判断子串的长度那就一定得找到子串的头和子串的尾,然后尾和头的差值就是长度,那就需要一个头指针一个尾指针,尾指针遍历数组每个字符的同时去查询头指针到尾指针这里是否有重复的字符,咋一看跟第1题有点像。

2023-10-22 16:01:24 48 1

原创 leetcode第2题:两数之和

这道题理解了就没啥,注意的地方是最后还有加起来超过10要进1的。

2023-10-22 14:03:36 28 1

原创 leetcode第1题:两数之和

这道题第一次写的时候运行速度比较慢,因为思路局限了,觉得找到目标值得遍历两遍,后来看看评论发现可以用哈希的方式:1-建立一个空的哈希表,2-遍历目标数组的同时往表里查找是否有目标值,如果没有就把当前这个数组的元素插进表里,这样只需要遍历一次就能找到目标值。有时候需要坐地铁的时间太长接近40分钟且是连续的,于是打开leetcode看看,解锁了一点新想法。拼速度的时候就别想节省内存,该堆分配就堆分配,该用全局就用全局,涉及到查找的时候可用哈希这种速度比较快的方式,用c没有现成的库得自己写个差不多的。

2023-10-22 10:23:20 32 1

原创 SPI LCD调试总结

关于前段时间调SPI屏幕的总结

2022-11-20 22:21:25 1430 2

原创 SPI总结

关于前段时间调SPI屏幕的总结

2022-11-20 22:19:59 594

原创 记录一次在新电脑上面克隆不了github代码

安装了那个小乌龟 tortoisegit跟git bash 和GUI(在360下面安装的自动装了2个)先是直接git clone 然后提示no supported authentication methods available(server sent:publickey)然后参考这个链接https://blog.csdn.net/yidragon88xx/article/detail...

2020-02-06 23:37:04 192

原创 nrf工程跑不起来的问题

跑不起来的时候首先验证是否软件问题,例如rom,ram地址有没有弄错,可以跑个芯片相对于的demo工程看看,打开串口调试看看有没有什么提示信息,有的话解决就行了,没有的话看看是不是没有外接晶振,这时候需要软件打开芯片内部晶振。...

2020-01-23 13:36:41 327

原创 nrf52832使用ble+2.4G(Gzll)遇到的问题

由于有nrf52832(从)与nrf24U01(主)通讯的需求,大概是这样,nrf24U01做为一个dongle接电脑,然后52这边与dongle通讯控制电脑。nrf52代码参考的是gzp_desktop_emulator这个demo,由于nrf24U01dongle的demo用的也是gzp_desktop,所以这个通讯非常简单,gzp初始化的时候把参数设为一样就能通讯了,通讯要求是3ms一个32...

2020-01-23 13:07:26 3747 3

原创 nrf52832与其他从机蓝牙芯片通讯注意的问题

由于有这种需求:从机连接主机,主机再连接手机,然后相当于可以两个设备都可以控制手机。nrf52832的主从一体其实就是把从机跟主机整在一起,最开始我拿两块nrf52832通讯上了,然后跟手机也通讯上了,由于一些原因从机改为了其他厂家芯片,代码还是参考自官方demo,根据广播UUID配对,根据参考Log调试信息看到一直出现可以出现‘connect’也就是连上了,但是一直没出现配对成功的log,百思不...

2020-01-23 12:24:41 943 4

原创 nrf52832添加hid服务

由于有添加hid touch服务给ios和Android手机的需求,了解了一下关于hid描述符的东西,添加hid服务可参考官方demo ble/keyboard。sdk16的hid服务跟sdk12的hid服务有一点区别,就是要算好最大使用的内存池。添加下面宏代码可以为一个hid服务添加一个内存池,这里以demo的键盘hid服务为例子:BLE_HIDS_DEF(m_hids, ...

2020-01-22 20:39:49 2302 2

原创 nrf52832增加fds模块遇到的问题

需求大概这样:先初始化fds,然后通过fds在flash读出我上次存储的内容,代码参考自demo flash_fds我的代码大概长这样: ret_code_t ret = fds_register(my_fds_evt_handler);//注册一个自己的回调函数,参考自demo if (ret != NRF_SUCCESS) { //print info } ret...

2020-01-22 16:01:37 1474

原创 nrf52832 ble无法多次与手机配对问题

在sdk15.3.0的一个ble的demo里,与手机配对,然后手机取消与设备配对,然后再连接设备居然连接不上,看了下代码在配对的handler里没看到PM_EVT_CONN_SEC_CONFIG_REQ这个事件,于是自己加了一个就可以了。用SDK12的时候在nordic官方论坛也看到过这个问题 代码如下:static void pm_evt_handler(pm_evt_t const * ...

2020-01-22 15:30:07 2385 1

原创 nrf52832sdk15的SAADC

由于有使用52832的需求,所以19年8月下载了一份最新的SDK,版本为SDK15.3.0,得创建一个新的工程然后移植原来的应用代码到这个新的SDK下,IO什么的跟原来SDK12没啥区别,但是我在demo里没找到ADC的demo,反倒是找到一个叫SAADC的(手册里SA是Successive approximation),由于时间关系先看了一下demo然后网上在搜索看了别人写的,跑了一下这个dem...

2020-01-22 15:24:12 577

原创 多mac地址问题

由于项目需求需要,在基于nrf51822的设备上面实现如下功能:设备可以有几种不同的模式,用mac地址区分模式。这里说一下多mac地址和手机f配对的过程:设备用mac地址1和手机配对,手机保存了当前的蓝牙配对信息,设备记录了该手机信息并且标记为ID1,可以在代码里这样打印出手机的配对ID(也可以根据这个ID执行删除配对信息)static void pm_evt_handler(pm_evt_...

2020-01-21 23:59:15 635

原创 SDK12 与手机配对时在fds里遇到的问题

曾经在sdk12的fds里遇到了许多问题,在后面最新的sdk16 15没遇到问题,这里主要讲遇到的一个比较严重又当时没发现的问题,设备与手机配对的时候 配对的内容利用fds模块保存在fds的page里,印象中nrf51822的flash section 是1k,fds可以理解为一个文件系统(不恰当的理解),开发者只管用就是一般不需要关注它的细节,假如没有利用fds来保存其他东西的话3个页最多可以保...

2020-01-21 23:40:16 382

原创 nrf51822如何修改mac地址

设备跟手机配对后手机会保存当前配对的一些profile,例如hid的描述符,例如我设备有两种模式(举个不恰当的例子):鼠标和键盘,按住按键1开机是ble键盘,按住按键2开机是ble鼠标,这时候就需要有不同mac地址的需求,否则会出现现在当前是键盘跟手机或者电脑配对,然后手机保存了当前的配对内容把你当成键盘了,下次用鼠标模式配对手机还是用原来键盘的配对信息,这时候就需要手机跟设备取消配对,但是如果两...

2020-01-21 22:50:57 902

原创 使用nordic芯片遇到休眠功耗的问题

19年5月第一次接触nordic的芯片,用的是nrf51822,SDK版本12,比较老,在同事的代码框架上添加应用代码,功能测试OK了之后板子拿给硬件同事看了之后跟我说休眠的功耗大,记得跟我说有60uA,那时候代码大概长这样:代码由sdk12的某个ble demo改过来的,利用初始化的时候RTC注册了一个调用一次的5ms的应用程序,应用程序进入休眠的时候会关掉ed灯和外设,然后把当前的这个定时...

2020-01-21 22:28:32 1356

《Bluetooth Low Energy 》The The Developer’s Handbook

蓝牙4.0最初制定人写的书,中文版是《低功耗蓝牙权威指南》

2024-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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