- 博客(9)
- 收藏
- 关注
原创 KEIL生成的bin文件通过自己写的程序继续烧录时,如何做到防呆设计
KEIL本身是做到了防呆功能,如下启动文件里,有个RUN2SF_MAGIC_FLAG为0x46533252,这个就是keil做的防呆flag(魔术字?)知道的小伙伴踢我一下,在bin文件生成时会加载到第11个字节,如何计算?头是top of stack,一个.long代表一个字节则.long 0x46533252在第11个字节。用查看bin工具打开后,图如下。
2025-05-16 09:12:19
95
原创 PWM,DAC通过语音数据播放语音 各个关键字的通俗版本解释
8位 10位DAC的区别,如果是20KB频率,8位就是一秒播放20K字节,16位就是一秒播放40K字节,以此类推。如果数据是8位 16位,再DAC看来就是一个字节有1/256变化或是1/66536的01电平变化。PWM播放语音,是仿照着DAC做的,通过不同的占空比+电容+外围电路做到正弦波的作用。8位/16位 PWM的区别,一个字节有1/256变化或是1/66536的占空比变化。DAC播放语音,就是将你的语音数据转成若干正弦波的模拟信号。已有一段语音数据,一个DAC,一路PWM,需求播放语音。
2025-04-30 10:58:32
125
原创 JAVA工程调用C/C++动态库全过程
4.在jni路径下输入 ndk-build 如果报错未找到指令就是环境变量没设置,其他的错误基本上是Android.mk里的头文件源文件路径问题,编译成功后在…/libs/生成你要的APP_ABI架构的so库。1.本文使用的是android-ndk-r17c;1.在AndroidStudio工程下创建libs目录把生成的so库包括架构文件夹都复制进来。2.将ndk的路径添加到环境变量里,需要使用SDK根目录下的ndk-build工具。so库就加入工程里了,剩下的就是jni的封装了。
2023-07-11 18:39:31
345
转载 libusb在嵌入式上编译
平时工作时遇到的问题,搜到了感觉写的不错,给自己使用1、why libusb?libusb是一种跨平台的用C语言实现的开源USB通信库。简单来说,任何程序员都可以借用libusb库封装出来的接口在应用层高效便捷地开发基于USB通信协议的程序。如果没有libusb,开发一款使用USB协议通信的程序就必须要下探到驱动层才行。也许有人会说,既然都做到USB通信这块了,那几乎都是涉及到U口设备相关的软件开发了,这种已经在跟硬件打交道的程序员多多少少都懂点驱动开发知识的,甚至有很多这种软件的定位本身就是一个驱动
2021-07-16 17:21:51
528
转载 Linux下使用lisusb库
转载出处:海漩涡http://blog.csdn.net/tanhuifang520一、下载libusb源码(1)ubuntu下命令下载sudo git clone https://github.com/libusb/libusb.git(2)在github上下载https://github.com/libusb/libusb二、配置./configure --build=i686-linux --host=arm-linux --prefix=/home/xfc/usb/install C
2021-07-16 15:39:32
410
原创 VS工程如何改生成的exe程序名,且不影响正常调试
1.项目-》配置属性-》常规-》目标文件名 ,改成自己想要的程序名2在链接器-》常规-》输出文件,改成$(TargetPath)这个宏即可
2021-07-09 12:26:47
5564
原创 git只存在本地分支,新建远端分支,本地分支上传
1.git branch -a 查看所有分支2.git checkout -b Debug 新建一个本地分支Debug并切换至Debug分支上3.git commit -am “提交****” 提交日志至本地库4.git push --set-upstream origin Debug 新建一个远端分支Debug并将本地分支与远端分支关联起来5.git push 将本地分支Debug推送至远端分支Debug可能有帮助的命令git diff 查看修改的文件及信息git log 查看日志git
2021-07-01 18:25:28
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人