TaterLi's LazyBlog

自言自语,不喜绕路,科学上网,远离天国.

@TaterLi5月前

11/7
10:20
技术控

[STM32定时器学习-003]OC的计数模式和中断

使用定时器的OC模式,可以把定时器分成5个小定时器使用,其中一个是TimeBase,另外其他都可以用作小定时器.同样要满足OCx 的时间会比ARR的短.同时,这不是一个周期定时器.他会走完最长的那个周期,然后才能回去.实现这个又简单又有陷阱.初始化方法.

    /* Count Up */
LL_TIM_SetCounterMode(TIM1, LL_TIM_COUNTERMODE_UP);
/* 1 kHz */
LL_TIM_SetPrescaler(TIM1, __LL_TIM_CALC_PSC(SystemCoreClock, 1000));[......]

[我要看更多…]

[STM32定时器学习-003]OC的计数模式和中断

@TaterLi5月前

11/3
10:44
技术控

[STM32定时器学习-002]PWM和OC输出

注意一个很大很大的陷阱,深陷不能自拔.高级定时器和其他定时器的PWM输出(OC输出)有一点点不一样,高级定时器的输出还有个MOE位控制,而其他没有.具体如下,其他疑问还可以查看STM32F072-NUCLEO-EXAMPLE_LL文件夹的内容:

		LL_TIM_EnableAllOutputs(TIM1);

之前一直不输出,切换到TIM2又输出了,然后不断对比,发现这个差异.具体寄存器位置是这样的.

坑惨了,当然,我们现在要说的是PWM模式,对于TIM1的PWM来说,太强大了.

查阅资料,知道TIM1的PWM输出引脚在PA8,PA9,PA10和PA11,而复用功能是AF2.[……]

[我要看更多…]

[STM32定时器学习-002]PWM和OC输出

@TaterLi5月前

11/2
17:06
技术控

STM32 USB Device 笔记(CUSTOM HID)

做这个USB Device也有一段时间,就是对各种表示比较多疑惑,但是都解决了很多,分享一下经验.

基本概念:

  1. USB也是一个一个Byte发给主机,从机不能主动给主机发,要等主机问一下从机你有事没事,等主机问的时候才能发.所以有个bInterval属性,设置太短呢,MCU很忙,设置太长呢,实时性不能保证.
  2. USB其实也就是串口,也就是SPI,也就是各种基础协议,做个很复杂的封装,比如串口就一个TX,RX,我TX你,你RX,而USB是我TX0你,你RX0我,我用TX3你,你却用RX0回敬我.可以理解成好多个串口连线到主机.专业名词叫EP.
  3. 其中EP0是最特别的,他是老大,[……]

[我要看更多…]

STM32 USB Device 笔记(CUSTOM HID)

@TaterLi5月前

11/1
14:11
碎碎语

学会了底层的武功有什么好处?

你会具有炫目而且高效的调试技巧:利用堆栈特性瞬间定位跑飞的程序、利用半主机活用C Library、利用ITM调试、利用HardFault和NMIFault定位程序异常、条件断点调试技术、会使用链接器描述文件辅助调试……你可以在只拿到DS和RM手册的情况下平趟所有Cortex-M平台:这个貌似不难,那么双核的MCU你行吗?没有片内RAM或者没有片内Flash的亦或者需要外扩RAM、Flash的呢?具备复杂软件的构架以及调试能力:当你的设计里面需要用到OS、FS、TCP/IP、GUI、USB等复杂软件甚至是全部这些复杂软件时,底层你无法规避,否则你完全无法驾驭这样的复杂软件。让你的算法起飞:精通底[……]

[我要看更多…]

学会了底层的武功有什么好处?

@TaterLi5月前

10/30
10:44
技术控

[STM32定时器学习-001]TimeBase

平台:STM32F072-DISCO

一直在用SysTick做TimeBase,用FreeRTOS的定时器做定时,现在也该研究一下定时器方式定时了.

定时器方法定时,有向上向下等等计算模式.和SysTick一样,有一个Reload值.

设置好Reload后,就开始计时了.首先TIM1的时钟来源于APB1时钟.关系还满足TIM1CLK = PCLK1(APB1 CLK) = HCLK (系统主频).所以TIM1CLK取决于APB1分频器,系统主频一般相对稳定.

其中Reload寄存器最大是65535,也就是最低定时中断频率是732.5kHz,以前用51时候进行一分钟定时,[……]

[我要看更多…]

[STM32定时器学习-001]TimeBase

@TaterLi6月前

10/25
18:10
技术控

花生壳安全漏洞

官方认为这不是一个漏洞,我认为漏洞影响就是可以使用目标花生壳用户的网络环境,以及获得对方花生棒的SN,重置,然后通过其他方法进入其账号等等.甚至取消掉花生壳助手的重置功能.这一切,都是SOCKS5没有设置密码导致的.另外Linux密码已经被我破解,所以.

大家不用太担心,我不开放任何源代码,不攻击任何人,只是说明问题.

首先需要用libcurl或者其他类似工具,获取一下哪些是开了SOCKS5代理的,扫描IP就可以.当然还要连接上去,然后再连接一下其他网站测试,这样才稳妥.比如我的花生棒所在的服务器在103.44.*.*,我扫描一下肯定能扫描出我自己所在的.我随便跳着扫描了一[……]

[我要看更多…]

花生壳安全漏洞

@TaterLi6月前

10/22
15:17
爱分享

Sim4 Cheat Code

对于我这种只为了玩的爽的作弊党,只要进了游戏就开始作弊.下面两句先执行,用Ctrl+Shift+C开启控制台.

testingcheats true
cas.faulleditmode

小人需求全满:

stats.fill_commodities_household

穷人,加钱:

motherlode

还有经常需要加的是情绪.

移除情绪:

sims.remove_all_buffs

添加各种好情绪:

sims.add_buff ConfidentHigh
sims.add_buff EnergizedHigh
sims.add_buff FlirtyHigh
s[......]

[我要看更多…]

Sim4 Cheat Code

@TaterLi6月前

10/19
22:28
碎碎语

我深知定时器功能很强大…

我深知定时器功能很强大…

然而我只用来定时…

你跟我说可以分析PWM… 我哪里来PWM.

你说我可以控制电机,我也只能停在理论…

然而…

我还是学一下吧…

虽然可能现在没什么卵用…

但是到时候有人闻起来还可以装X…

我只知道PWM可以用来听歌…

不知道电机为什么输入一步两步还要这么来…

我只知道发脉冲,要不就是X IO…

就算一个48MHz APB的ARM,也能达到接近20ns的精度,为什么我却…

不好好利用…

虽然寄存器成千上万,算了,还是学吧..

平台就定[……]

[我要看更多…]

我深知定时器功能很强大…

@TaterLi6月前

10/18
14:28
技术控

树莓派USB-Boot

据说这是OTP的,回不去的,首先要把树莓派更新到next分支.然后才可以继续下一步.

更新过程缓慢,要等一下.然后别重启,先制作系统.如果你反正有Linux系统是另一回事.首先我的USB盘是没分区.如果不是MSDOS的表,请用本文最后面的方法.

创建两个分区,一个100M,一个是全部空间.然后为目标系统格式化.

然后挂载好,把自己本机系统复制过去.

复制过程:

指令比较多,具体是:

sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sud[......]

[我要看更多…]

树莓派USB-Boot