SPI-SPI主机硬件片选功能使用说明

科技资讯 投稿 4800 0 评论

SPI-SPI主机硬件片选功能使用说明

SPI协议最早的标准,是由摩托罗拉公司制定。在协议使用的过程中,根据实际需求可能会进行一些扩展和修改。

原文中仅对SPI主机,在操作片选引脚上做出了明确的规定,并未对使用SPI接口的从机做出相应的说明。实际测试发现,在需要片选信号参与数据收发时要注意,片选信号线处于空闲时应保持高电平,且在需要进行数据传输时,应能够被SPI主机片选引脚拉低。

下面是以SPI1为例,使用硬件控制片选引脚的程序清单,其中PA4为片选引脚。

2. {

4. SPI_InitTypeDef SPI_InitStructure = {0};

6. RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE ;

8. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

12.  

14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

16. GPIO_Init( GPIOA, &GPIO_InitStructure ;

18. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

20. GPIO_Init( GPIOA, &GPIO_InitStructure ;

22. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

24. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

26.  

28. SPI_InitStructure.SPI_Mode = SPI_Mode_Master;

30. SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

32. SPI_InitStructure.SPI_NSS = SPI_NSS_Hard;

34. SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;

36. SPI_Init( SPI1, &SPI_InitStructure ;

38. SPI_SSOutputCmd( SPI1, ENABLE ;

40. SPI_Cmd( SPI1, ENABLE ;

 

编程笔记 » SPI-SPI主机硬件片选功能使用说明

赞同 (23) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽