- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 STM32F7 I2S接口 WM8978 边播放 边录音
1.用硬件平台 阿波罗F72. 软件部分,是从正点原子录音机实验稍微改的基本上没什么大的改动.3.操作步骤先是按KEY0,然后听到有音乐播放. (确保在SD卡新建一个MUSIC文件夹,存放wav格式音乐) 我的MUSIC文件夹, 第二文件是一个wav音乐文件, 所以在audio_play_1() 函数中 curindex=1; 自己视情况而定. 然后按住KEY2 保存录音与 暂停播放音乐 按KEY_UP 播放出 有喇叭声音与MIC录音声音 混合在一起注意: 尽量喇叭声音 设置..
2022-02-28 10:57:26
3268
1
原创 2021/9/29 TX POWER 蓝牙发射功率
1.觉得挺奇葩如果不是扩展包的话,就是TXpower设定,没法通过hci下发就是 在controller设定好,也没法中途去变化。扩展包,有这个选项,能够改变,可以通过HCI下发指令来更改2.AD9361 设置发射功率,要注意的是初始化设定好了,/*TXAttenuationControl*/10000,//tx_attenuation_mdB***adi,tx-attenuation-mdB1,//u...
2021-09-29 11:30:17
1033
原创 2020/9/13 AD9361 切换频点和切换状态
ENSM选模式TDD 和 使能TX PLL与RX PLL 频率合成 SPIWrite 013,00 // Set ENSM FDD/TDD bit SPIWrite 015,00 // Set Dual Synth Mode, FDD External Control bits properly切换状态 SLEEP AD9361 clocks/BBPLL disabled W...
2021-09-13 17:49:55
4058
1
原创 2021/9/7 ad9361 SPI 通信与数据接口
之前做过这部分工作,没有整理,现在回顾一下。当FPGA 版本出来之后,怎么让AD9361 动起来 ,就是头等大事。当时十分在意,SPI是否通了?ENSMAD9361收发器包括一个使能状态机(ENSM),允许对器件的当前状态进行实时控制。在正常运行过程中,器件可以置于多种不同状态,包括 • 待机—节能,频率合成器被禁用 • 休眠—待机,所有时钟/BB PLL被禁用 • TX—TX信号链被使能 • RX—RX信号链被使能 • FDD...
2021-09-07 16:11:02
3717
原创 2021/9/2 BLE PRA 广播包
1. RPA 广播包RPA: Resolvable private address 可解析私密地址RAL:Resolvableaddress list 可解析地址列表IRK :identity resolving key身份解析密钥对于广播要发一个 可解析地址,通过host 下发HCI指令有三步1.H_CMD_LE_CLEAR_RSLV_LIST注:如果不clear,会不会有什么影响呢?其实也没啥。2.H_CMD_LE_ADD_DEV_TO_RSLV_LIS...
2021-09-02 09:26:43
696
原创 2021/9/1 扩展包与周期包
1.周期包 带AUX_CHAIN_IND包2.扩展包 带AUX_CHAIN_IND包包 带AUX_CHAIN_IND包3.广播是从host下发 1000个byte 数据量,对于周期广播,先填满 AUX_SYNC_IND,还有数据,后面续AUX_CHAIN_IND,直到把数据发完。而扩展广播包,先填满AUX_ADV_IND,若还有数据,后面续AUX_CHAIN_IND,直到把数据发完。4.host 怎么下发 1000个byte 数据量?先填满一个包的最大容...
2021-09-01 09:38:43
253
原创 2021/8/25 ble 广播数据更新与ADI
1.广播如果数据需要更新?按照我们朴素的想法,先 通过 HCI 指令下 Disable,再传 adv_data,再Enable。CEVA中llm_adv.c,hci_le_set_adv_data_cmd_handler 程序不是这样的逻辑,Enable的情况下,更新数据。之前,我们给的内存太少,支持CFG的act 事件就只有两个。按照原有程序逻辑和大于2的act事件,更新数据是没问题。内存不改,不想更改cfg,act事件也只有两个。一般的想法,之前的广播数据会释放,然后再填入新的广播.
2021-08-26 09:19:39
489
原创 2021/8/23 python 2.7 与python 3.9 兼容
1. 系统默认python3.9那么系统默认,python3.9版本,像wireshark 的插件就是用python3写的。为了方便之后的使用,所以不需要更改这个默认。但是有的之前程序需要python2.7,这咋整呢?2.vscode 里调用python这样的话,我们可以选择 python2.7低版本,来运行。这是lanuch.json 文件,{ // Use IntelliSense to learn about possible attributes. .
2021-08-23 14:03:27
1203
原创 2021/8/17 扩展包与周期广播
1.在37,38,39 广播通道发 ADV_EXT_IND,注意这时候的广播 没有开RX, 都是TX2.发完ADV_EXT_IND之后,什么时候发AUX_ADV_IND。3. Aux offset 怎么设置?正常的话 ,每个广播通道对应不同 AUX OFFSET,对于扫描就知道,什么时候发aux_offset,准备收就可以呀。4.周期广播的时候,那怎么收adv_sync_ind?这个时候需要注意,扩展包扫描窗口可以开小,但是扩展包扫描间隔必须大一点。收到aux_...
2021-08-17 19:47:00
597
2
原创 2021/8/9 安装 wireshark 蓝牙ble nrf系列
1.https://www.nordicsemi.com/Products/Development-tools/nrf-sniffer-for-bluetooth-le注:有3.1.0 与3.0.0都是可以。3.1.0 支持他们家自己的平台。2. 安装wireshark https://www.wireshark.org/#download3. 安装python ,pip, pyserialhttps://www.python.org/downloads/ ...
2021-08-09 19:35:58
368
原创 2021-8-9 白化 蓝牙 blewhiten
用法 : bleWhiten(pdu,adv_dataLen,bleWhitenStart(38)); 在github 上找的,原理不清楚。白化数据一调用,变成非白化数据。非白化数据一调用,就变成白化数据uint8_t swapBits(uint8_t a){ uint8_t v = 0; if (a & 0x80) v |= 0x01; if (a & 0x40) v |= 0x02; if (a &...
2021-08-09 08:58:11
941
原创 2021/8/4- eclipse的优化等级
1.__attribute__((optimize("O0")));"O0" 是代表优化等级,0是不优化,根基自己选则,在函数定义的前面加上__attribute__((optimize("O0"))) 。就可以自己定义优化等级,而不是编译器的选项约束2. 开优化选项的时候,有的时候 会存在问题。 data_iq = data_i1 | data_q1; *(uint32_t *)REG_RF_BRIGE_FIFO_ADDR = data_iq; } ena...
2021-08-04 09:45:22
2226
原创 2021-7-26 ad9361 调频点
1. 整数integer 和 小数 fraction跟两个公式有关,整数和 小数 也就知道了RFPLL :VCO_freq 频率6G~12GLO :就是TX/RX发出的频率,如2.4GREF: 40M频率算出整数和小数之后,直接赋值给 寄存器,例如 1. 分别写 ad9361_spi_write(ad9361_phy->spi, REG_TX_FRACT_BYTE_0, 0x62); ad9361_spi_write(ad9361_phy-&g...
2021-08-02 20:37:35
947
1
原创 2021/8/2 指定内存
1. 比如 想给 指定一块内存 写程序在 ld 文件 .text_test ORIGIN(iram) + 0x10000: { KEEP(*(.text_test)) }> iram =0然后在调用函数前 加上ESI_SECTION (".text_test")ESI_SECTION (".text_test") int mian(void)用途:可以 测试内存的情况,增大内存,改天 很有必要 仔细看看内存这部分东东。...
2021-08-02 20:36:23
90
原创 2021/7/22 uint64 打印出来
1. uint64_t 打印出来uint64_t lo_freq_hz;char *freq_ptr = u64_to_str(lo_freq_hz);DBG_FLOW("tx_lo_freq= %s \r\n",freq_ptr );char * u64_to_str(uint64_t val){ uint8_t tmpbuff[32]; uint8_t cnt = 0; int i,j; uint64_t tmp; uint8_t num_tmp = 0; memset.
2021-07-22 19:47:01
1694
原创 2021-07-04 寄存器读写
1.往寄存器里 写值 再读值typedef uint8_t u8;typedef uint16_t u16;typedef uint32_t u32;往寄存器里 写值void reg_write(u32 Addr, u32 Value) { u32 *LocalAddr = (u32 *)Addr; *LocalAddr = Value;}从 寄存器里 读值u32 reg_read(u32 Addr) { return *(volatile u32 *)Addr;}.
2021-07-04 17:15:08
3088
原创 汽车行驶工况构建 2019D题
为啥选这个题?主要是三个人觉着这道题 做起来比较容易,实际是 。。。2019/9/23 提交论文码之后,一起去吃串了。给我的任务 是数据预处理和运动学片段的提取。论文提交的前一天下午基本完成,但总觉得还有一些瑕疵,考虑的不够周全。三张excel 表 总共的原始速度数据是496467个。1.原始数据的去掉毛刺速度数据由于长时间堵车、断断续续低速行驶情况,会出现了个别...
2019-09-24 15:21:01
4560
2
原创 stm32F407 adc采样 dma传输 串口显示
1.用的正点原子的例程有串口程序 ,adc 程序,dma 传输 的分别例程 ,但是没有结合起来自己就查查资料,试试 就出来,学了不少2.https://download.youkuaiyun.com/download/s0nail/11164831 程序下载的...
2019-05-07 19:33:08
1900
2
原创 MDK5.27 新建一个STM32F4工程
自己动手新建个工程 ,花了些时间,加油学1. MDK软件入门新建MDK工程正点原子探索者STM32F4开发板STM32F4开发指南https://wenku.baidu.com/view/cff18f0addccda38366baf38.html2.https://www.st.com/content/st_com/zh.html 官网 (可以选择中文)http...
2019-04-26 21:50:55
1079
原创 matebook x pro 2019 安装ubuntu 16.04
https://blog.youkuaiyun.com/flyfish1986/article/details/791704171. 制作u盘启动用U盘作为启动盘做系统。使用UltraISO,打开系统的.ios文件,写入磁盘镜像2.安装设置BIOS。打开电脑进入BIOS,关闭Secure Boot(设置为Disabled)(如果不设置,一直黑屏,F2 )然后 按 F123.wifi ,...
2019-04-20 15:03:48
3307
原创 机械臂 标准DH建模与改进DH建模
参考这篇博客,非常感谢https://blog.youkuaiyun.com/u013528298/article/details/81021386?utm_source=blogxgwz8ZX变换和XZ类变换对这张图 解释 有很多https://blog.youkuaiyun.com/qq_21834027/article/details/85206561两者的不同让我感觉很奇怪的...
2019-02-27 21:03:30
3421
1
原创 Qt5.12 ubuntu 16.04
1.Qt 5.12 下载http://download.qt.io/development_releases/qt/2.
2018-12-25 17:02:44
1027
1
原创 在Qt中用Zbar 来 识别二维码,并且能测距
0 .balabala 从零学了 qt 和usb摄像头的视频读取,受益很多 http://www.cnblogs.com/surpassal/archive/2012/12/19/zed_webcam_lab1.html 二维码测距 ,学习这个,感觉很厉害https://zhoujianshi.github.io/articles/2017/%E5%9F%BA%E4%BA%8E%...
2018-12-18 16:41:08
2843
2
原创 Ubuntu 16.04 装YouCompleteMe ,实现自动补全,报错提醒
先推荐官方的 YouCompleteMe中文 简洁的 YouCompleteMe中文 详细的 YouCompleteMe我自己走过的坑:坑1.File /home/w/.vim/bundle/YouCompleteMe/third_party/ycmd/build.py does not exist; you probably forgot to run: git su...
2018-10-20 21:08:03
1607
原创 Ubuntu 16.04 上 的visual studio code,第一个c#的小例子
网上有很多vscode 上c/c++的例子,我来补充一下 c#的例子这个视频虽然是在window下的,但是在ubuntu 下同样实用https://channel9.msdn.com/Blogs/dotnet/Get-started-VSCode-Csharp-NET-Core-Windows前提是 已经安装 vscode, 插件安装 c#1.安装 .NET SDKhttps:...
2018-10-17 18:14:28
2933
原创 removeDuplicates
给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。Given a sorted array, remove the duplicates in place such that each element appear only once and return the new le...
2018-04-12 22:24:24
2717
原创 rviz 打不开闪退
问题:[ INFO] [1519612289.671282108]: rviz version 1.12.13[ INFO] [1519612289.671330823]: compiled against Qt version 5.5.1[ INFO] [1519612289.671345237]: compiled against OGRE version 1.9.0 (Ghadamon)[ ...
2018-02-26 10:41:25
6250
原创 与指定数字相同的数的个数
总时间限制: 1000ms 内存限制: 65536kB描述输出一个整数序列中与指定数字相同的数的个数。输入输入包含三行:第一行为N,表示整数序列的长度(N 第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的整数m。输出输出为N个数中与m相同的数的个数。样例输入32 3 22样例输出2#include
2017-12-13 07:52:28
1129
STM32F7 I2S接口 WM8978 边播放 边录音
2022-02-28
汽车行驶工况构建2019 D题.zip
2019-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人