SPI-SPI主机硬件片选功能使用说明|头条焦点

来源:博客园时间:2023-04-22 05:14:13

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


(资料图片仅供参考)

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

在一份由飞思卡尔半导体发布的SPI V4.01版本规范中,对片选引脚做了如下的描述:The SS/ output feature automatically drives the SS/ pin low during transmission to select external devices and drives it high during idle to deselect external devices.

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

SPI主机在使用硬件片选时,除了需要在结构体中配置为硬件模式,还应将片选引脚配置为复用推挽模式,并调用SPI_SSOutputCmd函数,开启对应SPI的硬件片选输出功能。

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

1. void SPI_FullDuplex_Init(void)

2. {

3. GPIO_InitTypeDef GPIO_InitStructure = {0};

4. SPI_InitTypeDef SPI_InitStructure = {0};

5.

6. RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE );

7.

8. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

9. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

11. GPIO_Init( GPIOA, &GPIO_InitStructure );

12.

13. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

14. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

15. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

16. GPIO_Init( GPIOA, &GPIO_InitStructure );

17.

18. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;

19. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

20. GPIO_Init( GPIOA, &GPIO_InitStructure );

21.

22. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

23. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

24. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

25. GPIO_Init( GPIOA, &GPIO_InitStructure );

26.

27. SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;

28. SPI_InitStructure.SPI_Mode = SPI_Mode_Master;

29. SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;

30. SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

31. SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

32. SPI_InitStructure.SPI_NSS = SPI_NSS_Hard;

33. SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;

34. SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;

35. SPI_InitStructure.SPI_CRCPolynomial = 7;

36. SPI_Init( SPI1, &SPI_InitStructure );

37.

38. SPI_SSOutputCmd( SPI1, ENABLE );

39.

40. SPI_Cmd( SPI1, ENABLE );

标签:

相关阅读

推荐阅读

南京发布房票安置政策 新购房屋将免征契税

南京发布房票安置政策 新购房屋将免征契税

南京市建委牵头印发 《南京市国有土地上住宅房屋征收房票安置暂行办法》(简称《暂行办法》),明确当购房成交价格不超过房票票面金额时,新 更多

2023-03-27 10:44:55
今日最新!2023年一级建造师《工程经济》历年真题精选0326_一级建造师

今日最新!2023年一级建造师《工程经济》历年真题

2023年一级建造师《工程经济》考试共80题,分为单选题和多选题。小编为您整理历年真题10道,附答案解析,供您考前自测提升!1、下列经济效果评更多

2023-03-27 10:12:28
600377股票 有色金属股票还没有涨停的有哪些 天天速读

600377股票 有色金属股票还没有涨停的有哪些 天

最近小编看到大家都在讨论600377股票 有色金属股票还没有涨停的有 更多

2023-03-27 09:58:50
预计今春沙尘过程偏多,沙尘天气是否呈现变多趋势?

预计今春沙尘过程偏多,沙尘天气是否呈现变多趋势

近日,今年以来强度最强、影响范围最广的沙尘天气侵袭多地,波及20个省(区、市),影响面积超过485万平方公里。本次过程强度达到强沙尘暴等级更多

2023-03-27 09:54:47
央行2月金融数据出炉!钱去哪了扬城住户存款增20.3%

央行2月金融数据出炉!钱去哪了扬城住户存款增20.3%

近日,央行2月金融数据出炉,记者从中国人民银行扬州中心支行获悉,2月末扬城住户存款余额5540 8亿元,银行存款产品备受青睐。为何市民偏爱银更多

2023-03-27 09:38:56
快资讯:3亩鱼池成“聚宝盆”每年40万尾小金鱼批量流向全国

快资讯:3亩鱼池成“聚宝盆”每年40万尾小金鱼批

陆兆生和他的金鱼池。司新利摄3亩多地的面积,被分割成56个鱼池,里面游动着一尾尾色彩艳丽的小金鱼,像一朵朵花儿在水中绽放,这就是景区城北更多

2023-03-27 09:49:50
小额贷款利息-我想问一下小额贷款一般利息多少

小额贷款利息-我想问一下小额贷款一般利息多少

最近这段时间总有小伙伴问小编小额贷款利息-我想问一下小额贷款一般 更多

2023-03-27 08:54:27
主板注册制第一股今日开启网上申购 有哪些变与不变?

主板注册制第一股今日开启网上申购 有哪些变与不

3月27日,沪市主板注册制第一股中重科技(603135)、深市主板注册制第一股登康口腔(001328)将进行新股申购。根据发行安排,首批沪深主板注册制新更多

2023-03-27 07:54:18
+ 点击查看更多精彩
今日最新!2023年一级建造师《工程经济》历年真题精选0326_一级建造师
    2023年一级建造师《工程经济》考试共80题,分为单选题和多选题。...
600377股票 有色金属股票还没有涨停的有哪些 天天速读
    最近小编看到大家都在讨论600377股票 有色金属股票还没有涨停的有
预计今春沙尘过程偏多,沙尘天气是否呈现变多趋势?
    近日,今年以来强度最强、影响范围最广的沙尘天气侵袭多地,波及2...
央行2月金融数据出炉!钱去哪了扬城住户存款增20.3%
    近日,央行2月金融数据出炉,记者从中国人民银行扬州中心支行获悉...
快资讯:3亩鱼池成“聚宝盆”每年40万尾小金鱼批量流向全国
    陆兆生和他的金鱼池。司新利摄3亩多地的面积,被分割成56个鱼池,...
小额贷款利息-我想问一下小额贷款一般利息多少
    最近这段时间总有小伙伴问小编小额贷款利息-我想问一下小额贷款一...