我正在尝试使用 SCB TS-7500 的 i2c 接口将其与微控制器 atmega32 通信。我想配置 twiclockfrequency,为此我需要配置 ECONA CAVIUM 网络访问处理器。我无法在 C 代码中配置 twiclock 频率的寄存器。我有一个名为 i2ctemp.c 的程序,我用它来帮助我。
这是TWI的地址:reg = map_phys(0x71000020,&fd); 时钟地址为0x24;然后对于 TWI_CLKDIV 位 16:8。
我做了这样的事情:
无效设置比特率(长比特率){
unsigned bitratediv;
//Calcule of twi clock divider value
//Formule is TwiCLockFreq = PCLK /(2*(TwiClockDivider +1))
bitratediv = (unsigned)(PCLK/(2*bitrate)); //PCLK= 1M and bitrate= 50k
///If bitrate value is less than 16 then do:
if(bitratediv <= 16)
bitratediv = bitrate -1 ;
//FINALLY assigned the value to the register of the TWICLOCK
reg[0x24/sizeof(unsigned)] = bitratediv;
* 我只想知道如何获得这个寄存器“0x24”,因为这不起作用--------------------> reg[0x24/sizeof(unsigned)] = bitratediv ;** }
谢谢您的帮助
这是 ECONA CAVIUM 的手册和程序 i2ctemp.c (ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7558-linux/samples/i2ctemp.c)!(http://www.embeddedarm.com/documentation/third-party/ECONA-CNS21XX-HRM-v.1.8.pdf)!