本文介绍了一些树莓派与Anybus CompactCom 40 在SPI模式下测试时的注意事项
适用产品
Anybus CompactCom 40
问题
- 测试树莓派与Anybus CompactCom 40在SPI模式下运行时,有什么注意事项
回答
- 如果采用飞线的方式连接树莓派与Anybus CompactCom 40模块,应当适当降低SPI的通信速率,否则将会无法通信
- 树莓派与Anybus CompactCom 40最小连接信号下要求(模块通信接口在评估版上设置为SPI)
-
-
在/abcc_adapt/abcc_sys_adapt.c文件中,将SPI函数配置的时钟频率降低,
-
#if( ABCC_CFG_DRV_SPI )
case ABP_OP_MODE_SPI:
/*
** Check if running as root
*/
if( geteuid() != 0 )
{
fprintf( stderr, "WARNING! To use SPI as communication interface, this program must be run as root!\n\n" );
return( FALSE );
}
if( !bcm2835_spi_begin() )
{
ABCC_PORT_DebugPrint( ( "SPI initialization failed!\n" ) );
return( FALSE );
}
else
{
bcm2835_spi_setBitOrder( BCM2835_SPI_BIT_ORDER_MSBFIRST );
bcm2835_spi_setDataMode( BCM2835_SPI_MODE0 );
bcm2835_spi_setClockDivider( BCM2835_SPI_CLOCK_DIVIDER_128 ); /* */
bcm2835_spi_chipSelect( BCM2835_SPI_CS0 );
bcm2835_spi_setChipSelectPolarity( BCM2835_SPI_CS0, LOW );
}
break;
#endif
-
-
将/abcc_adapt/abcc_drv_cfg.h中宏定义修改如下图
- 使能树莓派SPI接口
-
-
sudo raspi-config
-
-
检查SPI设备文件
-
$ ls /dev/spi*
/dev/spidev0.0 /dev/spidev0.1
-
-
安装BCM28335库
- bcm2835: C library for Broadcom BCM 2835 as used in Raspberry Pi
- 注意,驱动3.11版本以后不适应BCM28335库驱动SPI接口,因此不需要安装BCM28335库
-