- 博客(123)
- 资源 (21)
- 收藏
- 关注
原创 如何grep excel文件,在excel文件查找到字符串
当我们遇到一堆excel文件,我们想通过关键字去定位一下它在那些excel文件中存在,怎么办?直接grep是肯定不行的。1. 安装 xls2txt或xlsx2csv,把excel转txt再用grep。2. 安装xlsxgrep。
2024-03-22 11:07:49 126
原创 开源BLHELI-S 代码详细解读(五)
总体思想是根据电机运行状态计算前4次换相时间,然后根据前4次换相时间计算15度和7.5度电角度时间,换相之后延时7.5度电角度开始检测过零点,检测到过零点后延时15度电角度进行换相。我们继续来看calc_next_comm_timing, 每次操作完换相之后,这里都会调用,同时会设置timer3去等advance timing.
2024-03-01 13:28:33 207 1
原创 如何编译BLHELI 及BLHELI_S
开头改成SilabsPath和 RaisonancePath你安装所在路径。BLHELI_S目录下,修改一下MakeHesfiles.bat。3. BLHeli目录下修改MakeHesfiles.bat。开头,改成KeilPath你安装 的目录。就可以双击编译BLHELI_S了。下载Ride和RKit-51。就可以双击编译BLHELI了。这里只说silab的两个版本。
2024-02-27 23:58:45 207
原创 开源BLHELI-S 代码详细解读(四)
如Set_Pwm_C, P1SKIP = 37h(00110111b), 即P1.3 P1.6和 P1.7会给外设使用, 根据优先度,PCA0的CEX0会使用P1.3(CpwmFET)输出 CEX1 会在P1.6(CcomFET)输出。这个 wait_before_zc_scan,其实比较简单,就是从把timer3的超时设置为Comm_Period4x_L和Comm_Period4x_H, 只有在STARTUP_PHASE和 SHL INITIAL_RUN_PHASE阶段才会设置。
2024-02-20 10:56:07 459
原创 开源BLHELI-S 代码详细解读(三)
如果不满足,则跳到run_to_wait_for_power_on_fail,这里上一篇有详细读了,是一些失败的检查,最坏会跳回init_no_signal。B. 否则就是在启动的阶段(STARTUP_PHASE),这里会将Startup_Zc_Timeout_Cntd减1(超时次数,wait_before_zc_scan会把它设置成2),要是它还不是0,就跳到comp_check_timeout_extend_timeout,再调用setup_zc_scan_timeout。
2024-02-06 19:36:56 639
原创 开源BLHELI-S 代码详细解读(二)
DIR_CHANGE_BRAKE没有设置的话,就跳到run_to_wait_for_power_on,不是的话,清除DIR_CHANGE_BRAKE的标志,清除PGM_DIR_REV标志,要是RCP_DIR_REV有设置,那么设置PGM_DIR_REV,然后把当前的阶段设置回INITIAL_RUN_PHASE。run_to_wait_for_power_on_fail是由前面的wait_for_comp_out_low和wait_for_comp_out_high的异常读取触发的。
2024-02-04 17:28:14 1190 2
原创 开源BLHELI-S 代码详细解读(一)
Pgm_Beacon_Delay会和Power_On_Wait_Cnt_H相减,要是借位,就会开始beep f4, beep一次Power_On_Wait_Cnt_H会减1,就是Power_On_Wait_Cnt_L是255的时候beep一次了。如果有信号(Rcp_Timeout_Cntd不是零),同时New_Rcp(油门)不是零跳到 wait_for_power_on_nonzero, 再检查一次Rcp_Timeout_Cntd是不是零,要是不是零,那就跳到init_start。这个代码在inc里。
2024-01-29 15:52:24 1141
原创 使用GDB动态补丁ARM64的程序 跳转到任意地址
正常的 arm64跳转转令B,BL,BLX只有+-128M, 我们很多时候要跳到大于这个值的地址。我们在arm64下可以选的指令就只有br指令了。原来在ARM/Thumb中使用的 ldr pc, [pc, #?] , 但arm64是不能这样了。但是它也需要给一个寄存器赋值一个64bit的地址, 可是arm的指令是固定的32bit的,即使给一个寄存器赋值一个64bit的值都麻烦。如 set *(int*)0xabc1234 = 0x58000070。补丁就是简单了,就是直接使用set命令就好了。
2024-01-18 13:44:58 432
原创 GDB 调用无符号的任意函数
我们知道有符号的函数调用很简单了,直接像写c语言一样传参调用即可。但是无符号的就不知道怎么弄了,查遍了整个网络我都没有查到怎么做。5. until命令执行完成,说明函数也执行完成了,因为是返回地址设置了。1. 保存好所有的现场,如寄存器,当前pc, 返回地址,堆栈等。例子是调用一个对象转json的无符号函数,然后打印它返回的结果。6. 如果有需要打印一些结果,如p/x x0.4. 使用until 命令到执行到的返回地址。2. 替换返回地址,为当前指令下一个地址。3. 设置pc去执行函数,
2024-01-18 13:18:30 496
原创 LUA 对象转excel
因为是excel, 所以第一层要是数组,否则没有什么意义,这里使用开源的json.lua, 但是开源的,对于数字作下标的,或者是一个数组里,不意类型的key混合的情况无法转换,所以先进行了扫描判断是不是混合的key. 是的话,取消key,把key到结构里作为一个字段处理。
2024-01-17 09:18:43 605
原创 JS 解析RGB控制台终端输出有颜色的LOG
RGB转consolecolor是自己了随便写的,差不多就算了。可以解析一下html的颜色输出log, 在终端打印成相近的颜色。
2024-01-11 17:56:23 361
原创 FRIDA 调用原生函数时使用补丁也生效
即,你补丁了一下函数,你去调用它,发现你使用frida打的补丁和hook不生效。1. 补丁函数必须使用。
2024-01-10 12:39:14 342
原创 如何绕过pairip的防护
签名绕过的第二个办法是不要改dex, 改一下androidmanifest.xml, 把 com.pairip.application.Application改成android.app.Application. 原理很是com.pairip.application.Application继承android.app.Application, 只是多了一些签名验证,刚好我们不需要,使用基类跑就好了。然后libpairip会开线程,开定时检查一些gdb和frida之类的,检查到就会来个异常把进程搞死.
2024-01-06 17:16:08 693 3
原创 三星galaxy s9 root教程
11. 刷完后因为去掉了auto reboot, 是不会重启的,这个时候按 Volume down + blix + 电源键, 让它重启,这里很重要的一点,就是你必须在关键的一刻,你按键切换成 Volume Up + blix + 电源键, 等到看到三星的logo,你松开电源键, 保持按住 Volume Up + blix, 等几秒就看到twrp的界面。8. 按住音量 减(volume down) + blix + 电源键 , 7秒后,进入刷机模式,按 volume up。
2024-01-06 17:05:06 1150
原创 超简单免费转换ape到flac
4.到ape所在的目录,执行以下命令。3. 设置path到ffmpeg。1. 安装最新版的ffmpeg。2. 安装cywin环境。
2023-09-11 20:24:29 499
原创 使用arduino Nano 自制nRF24LE1 的烧录器进行固件烧录
4.解压program.zip得到一个烧录的命令行工具,执行命令进行write或dump。3. 实质是spi下载来的,接线, nRF24LE1是3.3设备,别接5v。也有专门usb编程器,比较贵,可以买个arduino nano自已做一个。需要自己数一下多少pin的,然后和arduino的脚接起来.2. 使用arduino编译烧录固件。1. 下载arduino的烧录固件。
2023-06-26 23:36:43 608
原创 stm32flash碰到hex文件出错,读取超慢, 占用内存超多的问题解决
这个问题是因为sdcc生成的hex的每行的地址并不是排序的好的,有些高的地址在前面,低的地址在后面,这样的话,stm32flash这个hex.c并不能处理这个情况。里面有一个逻辑是用来填补0xff的,当后面的地址比前面大,一减得负数,但是变量是无符号的,结果就变成了4.2G了,然后一碰到一次就申请4.2G内存,然后填充0xff, 结果读了一个几十k的hex耗时十分钟,还占用超多内存,然后内存还是错的。解决办法,可以使用srec_cat把hex处理一下,输出的文件的地址就是排序好了。
2023-06-24 20:47:22 309
原创 MacOs 下用于性能优化的“perf“命令
MacOs下面没有这个命令,但有类似的,也是非常方便,它就是 Instruments, 是xcode自带一个性能分析和自动化测试的工具。需要安装Xcode.以下使用例子。
2023-06-24 17:00:06 786
原创 一个TIMER软件模拟输出6个PWM
51单片机的timer很少,往往16bit的timer只有一个,可以硬件输出的channel也不多。只能使用软件模拟了。pwm是1-20ms一个周期,要是设置一个固定的周期,中断间隔就必须比较小,如0.01ms , 这个精度已经不怎么样了,但是每秒还是需要100000次中断,对于51来说,这个压力很大,实测效果很差。1. pwm需要每20ms对pin脚操作两次,周期开始设置它为1,到达指定时间时设置它为0,这个宽度,在航模的信号里,是1-2ms之间。我们将6个通道,每个分时3ms给它做这第一项的两次设置。
2023-06-22 12:36:54 677
原创 高通Qualcomm处理器的手机或设备进EDL 9008模式的办法
由于我们有很多基于 Qualcomm 的设备,其中一些设备可能会古怪地猜测如何进入 EDL 模式,或者如何正确进入。例如,对于 Alcatel,您必须先按住两个音量键,然后再按住其中一个,对于 CAT B35,您必须按住 * 和 #,对于 8110,您必须按住 Up 和 Down,在此期间您必须插入电缆。因此,一个非常简单的电缆模块(一个穷人的夹具)就派上用场了,它根本不需要焊接。1. 拿一根备用的 microUSB 数据线,剥去中间某处的绝缘层。3.将USB端连接到PC,按住剥开的线约5秒钟。
2023-01-18 16:57:40 2913
原创 stm32 硬件spi半双工三线的一些研究心得
这个根据工作原理分析了一下,为什么在这样,主要是因为我们的读的时候,要是这个速度高,我们的mcu还没有去禁用SPI停时钟这个太慢了,上面代码已经在判断到RXNE时马上disable SPI了,但是明显,这个还是不够快。a7105可以使用四线spi,或者3线spi, 但是之前都是使用3线的软件模拟的三线spi的,所以不想改其它代码了,就想可以提高一个spi的读写速度,原来软件方式的读写速度,在48Mhz的03x下面,大约速度是1.6mbs,使用硬件spi之后,最终大约速度为12mbs.
2022-09-04 21:52:42 4683 2
原创 富斯,迈克,天地飞4合1接收机说明书
(上图,飞机用的接收机)(上图,车用的接收机) A: 一 首先遥控器开机进入对码模式, 二 接收机上电, 三 静待45秒,即可自动完成对码。 一 关闭遥控器 二 接收机上电三 静待40秒,直到接收机进入每1秒1亮1灭慢闪四打开遥控器,接收块闪,然后常亮,对码完成A: FLLYSKY,天地飞:一. 关掉原来的摇控器, 二. 关掉接收机电源 三. 打开新的遥控器开机进入对码模式 四. 接收机上电, 五。 静待45秒,即可自动完成对
2022-06-21 11:41:36 9632 2
原创 MC6C迈克/FLYSKY富斯/WFLY2天地飞二代接收机远程刷固件教程
1. 安装ch341的驱动程序CH340/CH341 Windows串口驱动安装 - 南京沁恒微电子股份有限公司CH341SER.EXE - 南京沁恒微电子股份有限公司2.ch341的跳线跳到usb To ttl3.接收机飞线4.连接5v, RX, TX GND 到接收机的+,3, 1 ,G5.下载stm32isp程序安装6. 接上ch341到电脑7. 打开stm32isp程序8.输入密码,密码找卖家要,点击登录9.点击下载10. 拆除接收机飞线........
2022-05-16 16:21:21 2987
原创 富斯/MC6接收机说明书
正面 反面1. PWM输出通道多达6个, 可以自由切换7种模式,自由选择无刷,有刷,差速,炫酷的RGB全彩灯带等,自由玩耍。2. 集成两个5A有刷电调,通过模式选择,可以双发,可差速,支持8250以下的空心杯有刷电机3. 支持16通(MC6/7C 14通)sbus(第15通是RSSI),9通ppm(第9通是RSSI),可以接飞控,飞fpv. 4. 支持Failsafe失控保护,只需要直接在摇控器的Fail...
2022-04-20 15:09:42 9888
原创 自制2.4G ELRS接收机,不需要打板,容易制作
制作难度:中等,主要是器件太小,焊接需要耐心一。硬件材料1.LoRa射频模块,sx1280 : E28-2G4M12S2.MCU Wifi模块:ESP-01F3.各色硅胶软线若干4.1k电阻5. TTL转串口 CH341 (CH340或FTDI随便一个即可。)6. DC-DC3.3v降压模块7. LED灯一个。二。软件:1. EpressLRS Configuratorhttps://github.com/ExpressLRS/ExpressLRS-Configu..
2022-01-03 10:54:52 7913 6
原创 自制2.4G ELRS TX高频头, 内置于富斯i6
制作难度:容易一。硬件材料:1.LoRa射频模块,sx1280 : E28-2G4M27S2.MCU Wifi模块:ESP-WROOM323.各色硅胶软线若干4.1k电阻5.富斯FS I6摇控器6.JLink一个,刷写固件用7. 2.4G天线一个软件:1. EpressLRS Configuratorhttps://github.com/ExpressLRS/ExpressLRS-Configurator2.我写的的FSi6固件, ERFLY6,GitHub...
2022-01-03 10:01:54 6110 28
原创 STM32 LL库使用SPI读写
void Rfchip_Spi_Init(void){ LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5); LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_7); RFChip_Disable;}void Rf_Spi_Write_Byte(uint8_t dat){ LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5); LL_GPIO_Se...
2021-12-31 15:51:02 2796
原创 STM32 LL库 操作FLASH 保存数据
#include "string.h"#include "stm32f1xx_ll_system.h"#define FLASH_PAGE_SIZE ((uint32_t)0x00000400)#define LL_FLASH_GET_FLAG(__FLAG__) (((__FLAG__) == FLASH_FLAG_OPTVERR) ? \ (FLASH->OBR & FLASH_OBR_OPT...
2021-12-31 15:50:09 1617
原创 STM32 使用 LL库进行I2C读写
为什么要使用LL库,因为生成的固件大小可以小很多很多,MCU贵呀,可以省很多成本了。uint8_t i2c_read_len(I2C_TypeDef *I2Cx, uint8_t Addr , uint8_t Reg, uint8_t len,uint8_t *buf);uint8_t i2c_write_len(I2C_TypeDef *I2Cx, uint8_t addr , uint8_t reg, uint8_t len,uint8_t *buf);实现这两个函数,理论上全...
2021-12-31 15:46:45 4617 3
原创 Freescale 飞思卡尔使用UART中断,单线UART
1void setup_crsf_serial_port(uint32_t baud,crsf_read_cb_t read_cb){ if(g_crsf_read_callback==0) { g_crsf_read_callback = read_cb; //uart_single_init(bdrate,DEFAULT_SYSTEM_CLOCK,bdrate);//Set single wire mode. SIM->SCGC4 |= S
2021-12-31 15:46:27 429
原创 MacOS Arduino开发环境搭建和编译minimosd-extra
1.从arduino官方网站:https://www.arduino.cc/en/Main/Software下载mac平台的IDE2.安装Arduino Makefile , git clone https://github.com/sudar/Arduino-Makefile.git3. 下载minimosd-extra源代码git clone https://github.com/night-ghost/minimosd-extra.git4.下载Sing...
2021-11-10 14:21:27 393
原创 STM32F103C6Tx CubeMx HAL I2c不工作原因
发现使用STM32F103C8 i2c是可以工作了,要是cpu选STM32F103C6Tx发现生成代码i2c不工作,多次尝试和比较发现,STM32F103C6Tx生成的i2c的msp初始化gpio的时候少了一个速度的配置: GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;加上这行就正常工作了。汗。void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle){ GPIO_InitTyp...
2021-11-01 22:03:56 1880 6
原创 Light Room Classic 9.4 MacOS闪退解决办法
好像没有打开Light Room Classic, 今天打开发现slpash 出现之后就直接闪退,百思不解,好像很久什么都没有干呀。试一下把网络禁了,发现不闪了。 哦。。。。。原来如此。好吧,tcpdump分析一下,看看闪退之前访问了什么网络。sudo tcpdump -i en0 port 53Password:tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on e
2021-08-12 23:54:52 1729
原创 新唐n76e003单片机遥控PWM信号检测控制航灯系统
第一次使用学习单片机编程, 使用了n76e003, 主要在检测pwm的信号问题上花了比较多的时间,最后是使用了timer2的0通道来捕捉上升缘,1通道来捕捉下降缘来检测pwm的宽度。接收机是0-2000us pwm输出,500-1000是基础的pwm, 就是说没有信号也定期输出500(舵机)或1000(油门),这样单片机可以检测到有无信号.timer0来控制led的开关和闪烁,timer0使用10khz, timer2使用16m的时钟.#include "N76E003.h"#incl.
2021-05-19 21:15:21 1129 1
原创 android root了之后, jdb任何app
设置 ro.debuggable, 那么全部app都是可以debuggable的,不需要修改manifest.
2021-03-05 18:36:19 305
原创 小米10 adbd 以root权限启动提供服务
之前写了类似的文章,但是这个文章办法不适用于小米10, 原文参考:https://blog.csdn.net/aerror/article/details/103270830主要有几个问题:1. supolicy这个在小米10 中root之后运行不起来,直接segment fault.2. 小米的文件系统remont 成rw失败,提示1|vangogh:/data/local # mount -o remount,rw / ...
2021-01-15 19:54:54 2013 1
原创 编写ASCOM平台的驱动
近来在玩天文,自己DIY了一个电动的调焦。ASCOM平台是一个天文的驱动和软件的开发标准,它是一个开源的开放平台。主要是使用了.net的技术。https://ascom-standards.org开发工具:1. Visual studion 2012/2013,太高的版本好像开发包不支持。2.Inno setup, 用来制作驱动的安装包,ascom的开发包,有自动生成这个安装脚本的工具,很方便3.开发文档:https://ascom-standards.org/Develop...
2020-12-10 10:24:51 4187 8
2013-2014的MBP的固件427
2020-11-17
com.goplaycn.googleinstall.apk
2020-05-28
MachORuntime.pdf
2020-04-28
twrp-3.3.1-0-shamu.img
2019-11-27
File_DXE_driver_NVMe_mbp114.ffs
2019-11-07
Gigabyte Phoenix X99 SLI +Vega64+Xeon E5 2996V4 EFI.zip
2019-07-03
Clover EFI For MSI X99ARaider E5-2696V4 MacOS High Sierra 10.13
2017-11-12
Geekbench 4.2.0破解补丁
2017-11-12
Synalyze It! Pro 1.20 破解补丁
2017-11-12
Clover_v2.4k_r4114 for x99
2017-07-14
clover+EFI+gtx1080 +msiX99ARaider+i76800k+sm951 NVMe.zip
2017-04-23
Finger Sensing Pad macos x 触模板 驱动源代码
2014-03-04
lzma in as3
2011-12-09
j2me手机游戏之俄罗斯方块
2008-10-11
SharpSniffer
2008-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人