我正在尝试将导线的i2c引脚更改为11,12(SDA,SCL)。我建立了自己的PCB,但在同一位置没有i2c线。我使用了adafruits feather52引导程序。
我在网上发现,更改variant.h文件会更改i2c行,但是我的计算机(PC)上没有该文件,尽管我的mac确实如此。
我尝试过Wire.begin(SDA,SCL),尽管这是针对esps
我还尝试在C / programs / Arduino下的默认连接线和user / AppData / Arduino / adafruit下的默认连接线中编辑wire.h文件,尽管我没有找到设置引脚的位置。
答案 0 :(得分:0)
您不能更改硬件I2C引脚。它们是硬件。这意味着它们在芯片内部物理连接到驱动I2C的部分。您可以使用软件I2C对通信进行“位爆”。但这不会使用常规的线库。
答案 1 :(得分:0)
但是您有解决方案。两年前,我遇到了同样的问题,而最终要做的是使用软件I2C。它在Arduino的任何数字引脚上“ Bit Bangs” I2C协议。有几个库。例如,检查以下一项: https://github.com/Testato/SoftwareWire
开始阅读有关I2C协议的文章,并尝试了解库的功能。这样就可以在您硬接线的GPIO引脚上模拟I2C协议
答案 2 :(得分:0)
将硬件软件包打包到Arduino15文件夹中。 Windows上该文件夹的位置位于C:\ Users \\ AppData \ Local \ Arduino15 \ packages中的用户主目录中。
变体文件位于variants / feather_nrf52832 / variant.h
The nRF52 MCU can use any pair of pins for I2C.
因此,请尝试更改variant.h
# Join To table Bill - not using table customer in grouping argument
select Bill.Id
, Bill.Subs
, Bill.billNumber
, Bill.billDateBegin
, Bill.billDateEnd
, Dem.age
, Dem.ageCategory
, Dem.gender
into #Demographics2
from dbo.Bill Bill
left join #Demographics Dem on Bill.Id = Dem.Id
and Dem.creationDate >= Bill.billDateBegin
and Dem.creationDate < Bill.billDateEnd
where 1=1
group by Bill.Id
, Bill.Subs
, Bill.billNumber
, Bill.billDateBegin
, Bill.billDateEnd
order by Id, billNumber
根据需要固定针脚。
如果可行,请考虑定义your own hardware definition而不是修补变体。h。