AT917S256 的SPI通信实现
来源:互联网 发布:淘宝的数字暗语大全 编辑:程序博客网 时间:2024/04/30 10:18
/*****************************************************************************
** 函数名称:SPI_init()
** 函数功能:初始化SPI接口,设置为主机。
** 入口参数:无
** 出口参数:无
* 作 者:sin
日期:2008/01/17
******************************************************************************/
void SPI_init (void)
{
pPMC->PMC_PCER = (1<<AT91C_ID_SPI);
pPIO->PIO_PPUER = (AT91C_PA12_MISO );
pPIO->PIO_PDR = (AT91C_PA12_MISO |
AT91C_PA13_MOSI |
AT91C_PA14_SPCK );
pPIO->PIO_ASR = (AT91C_PA12_MISO |
AT91C_PA13_MOSI |
AT91C_PA14_SPCK);
pSPI->SPI_MR = (AT91C_SPI_MSTR | //SPI为主机模式
AT91C_SPI_PS_FIXED | //固定外设器件
AT91C_SPI_MODFDIS | //模式错误检测禁止
(0xE<<16));
pSPI->SPI_CSR[0] = ((1<<24) | //连续传输间延迟
(20<<16) | //SPCK前延时
(50<<8) | //算拨特率的 SCBR 初始值
(0<<1)| //数据在SPCK的下降改变,在SPCK的开始边沿捕捉
//AT91C_SPI_NCPHA | //
AT91C_SPI_CPOL | //SPCK无效状态时,其逻辑值为1
AT91C_SPI_BITS_8 ); //8位传输
pSPI->SPI_CR = AT91C_SPI_SPIEN;
}
/********************************************************************************************************
* 函数名称:MSPI_SendData()
* 函数功能:向SPI总线发送数据。
* 入口参数:bsend
* 出口参数:返回值为读取的数据
* 作 者:sin
日期:2008/01/17
********************************************************************************************************/
unsigned char MSPI_SendData(unsigned char bsend)
{
while( !(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_TDRE )){;}
// wait until all transfers are completed
AT91C_BASE_SPI->SPI_TDR = bsend;
//transmit
while( !(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_RDRF )){;}
// wait for received char
return (unsigned char)( AT91C_BASE_SPI->SPI_RDR );
}
- AT917S256 的SPI通信实现
- SPI通信速度的优化!
- aduc841单片机的SPI通信
- NRF24L01实现msp430单片机通信(SPI)
- SPI的VHDL实现
- Dubbo的SPI实现
- SPI通信
- SPI通信
- spi通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- SPI通信
- stm8s开发(七) SPI的使用:SPI主机通信!
- SPI通信过程以及 STM32的SPI特性构架
- lucene 搜索入门实例
- 21.3 RoundedCorners锐化边角控件 (征服ASP.NET 2.0 Ajax——Web开发技术详解)
- IIS配置FLV文件
- 注册CSDN了
- 21.4 ToggleButton个性化按钮控件(征服ASP.NET 2.0 Ajax——Web开发技术详解 )
- AT917S256 的SPI通信实现
- 1.1.3 GIS应用框架
- 21.5 UpdatePanelAnimation局部刷新动画控件(征服ASP.NET 2.0 Ajax——Web开发技术详解)
- JGAP使用说明
- 21.6 小结(征服ASP.NET 2.0 Ajax——Web开发技术详解 )
- Posix多线程编程学习笔记(二)—线程属性(1)
- test
- 创建定制的泛型类--泛型Queue多线程读写文档--的泛型方法
- 提高oracle表分析速度