
说实话,我已经很久没有在知乎上更新文章了,我写的很少。一开始是CSDN在知乎两边写文章,酝酿一些有价值的东西并不容易。现在,我直接把以前写过CSDN在最后几篇文章的总结中,我们更喜欢安利有趣的内容,所以我们不会长篇大论技术。看了很多人之前收藏的赞,我会继续更新。
情感:后来知乎真的少了,主要是总是推荐一些笑话,尤其是肉笑话,最讨厌总是有奇怪的三种观点,没有贬义可能是我老不能接受,回答主,然后严肃地说,字里行间暗示每个人都是这样的,揭示不可反驳的意义,让一个人有时融入你的圈子不知不觉地接受他们的价值观,也许你的圈子真的不适合像我这样的人。
言归正传
很多人也经历过嵌入式开发板linux上的i2c-tools可扫描的工具i2c总线上的设备,检查指定设备的寄存器,如果是这样的工具windows只需调试一些传感器或相机SCCB找开发板就不用做了。串口是许多嵌入式开发的必要工具。如果周围可见的串口突然可以调试i2c,spi会不会瞬间感到快乐?
源码在这里
rede97/tinyboard-toolsgithub.com先来看看最后的结果~(钨冬粉)
- 这里扫描了GY91包含了MPU92509轴传感器BMP280气压计
#扫描i2c总线,0代表0FDTI设备,0x68是MPU9250,0x76是BMP280 PS ~> .i2cdetect.exe 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
#查看MPU9250的寄存器,who am i寄存器0x75为0x71 PS ~> .i2cdump.exe 0 0x68 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: c5 ce e0 0e a0 17 25 cf fa f0 fb fd 00 5a 5b 77 10: bf b9 a5 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30: 00 00 00 00 00 00 00 00 00 00 01 e3 9c e3 7c cd 40: 6c fa 60 ff 1f 00 3b ff f0 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 1f 89 70: 00 00 00 00 00 71 00 15 fa 00 eb 12 00 22 82 00 80: c5 ce e0 0e a0 17 25 cf fa f0 fb fd 00 5a 5b 77 90: bf b9 a5 00 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 01 e3 9c e3 68 cc c0: 24 fa 80 ff 15 00 2b ff a0 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 21 22 f0: 00 00 00 00 00 71 00 15 fa 00 eb 12 00 22 82 00
我知道所有的道理,但为什么呢?...
国产有便宜点CH340,外国的CP210x,但是有一款FT232R它更贵。除了过时的串口,每个人都是过时的FIFO大一点不知道为什么他这么贵!FT232R就是今天的主角,解锁他的新姿势。FTDI不止这些芯片,主要用于JTAG用在做FPGA板载下载器或USB转FPGA。
- 前提是你需要一块12M晶振的FT232R才行
我在某宝上看了很多FT232RL,但没有外部晶振,因为内部晶振足够用于串口,FT232R的BITBANG模式必须是外部的12M
本文参考晶振的具体原因:bitbang ftdi usb to serial converters to drive spi devices 没有外部晶振bitbang模式会导致输出混乱,困扰作者很长一段时间,必须注意这一点:
- 什么是BitBang模式
BItBang模式是FT232RL串口模式提供了一种额外的模式,还有高端系列的芯片,可以算是FTDI芯片家族的标配,BitBang模式是将串口放下TX RX RTS# CTS# DTR# DSR# DCD# RI#
引脚作为GPIO使用,对应BitBang模式下的D0~D7
,对应FT_Write
和FT_Read
中一个byte的0-7bit。具体地说BitBang有三种模式可以看到我CSDN博客,I2C依靠同步BitBang实现模式的先读后写。
Asynchronous Bit Bang Mode (异步BitBang) Synchronous Bit Bang Mode (同步BitBang) CBUS Bit Bang Mode (CBUS BitBang)
- 接线很简单,10K不需要上拉电阻,SCL连接TX,SDA连接RX就可以了
说在最后
我很快就会支持它EEPROM和SPI FLASH的,欢迎新的小伙伴的加入和贡献。
- 传送门
Mingw下使用FTD2XX进行FTDI的开发 - m454078356的专栏 - CSDN博客
FT232R之Bit Bang - m454078356的专栏 - CSDN博客
FTDI BITBANG软件实现i2ctools