1、更换评论
多说将于6月1号关闭,因此将评论系统从多说转到Disqus。更新的方法很简单,升级next主题,最新版的主题中自带了Disqus的评论,只需填入用户名即可。
just do IT
ci ceshi
关于 Bit Bang 的解释:Use software to control serial communication at general-purpose I/O pins,简单来讲就是使用软件通过 IO 脚去实现 I2C 的时序从而使用 I2C 协议进行通信。
这样做的好处是可以突破硬件上的限制,例如芯片不具有硬件 I2C 模块,或者硬件 I2C 模块损坏,又或者使用硬件 I2C 模块时布线非常麻烦。坏处是需要写代码模拟时序,根据不同的硬件平台和不同的时钟频率,代码中的部分参数是不一样的。
以下代码基于 STM32 系列 MCU
使用软件模拟 I2C 的步骤如下:
1 | #define SCL_PORT GPIOA |
source insight 终于大版本更新了。我开始使用 SI 是去年,那时候是 3.5 的版本,就觉得这是一款神器,搭配 Keil 和 IAR 等编译软件使用,可以提高单片机编程的效率。SI 有很多的特性是 keil 和 IAR 不具备的,作为一个代码编辑软件来说,很多功能确实很强大。只不过官方久久不更新,所以很多现在主流 IDE 或者代码编辑器的一些实用功能都不支持。
调用函数 f_open()
后,程序崩溃,调试后发现,单片机产生硬件中断,即软件跳入如下部分:1
2
3
4
5
6
7
8void HardFault_Handler(void)
{
/* Go to infinite loop when Hard Fault exception occurs */
while (1)
{
BSP_LED_Toggle(LED3);
}
}