请教STM32模拟SPI驱动nRF24L01问题

请教STM32模拟SPI驱动nRF24L01问题,第1张

void SPI_FLASH_Init1(void)//io初始化配置

{

GPIO_InitTypeDef GPIO_InitStructure

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE)

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_9//CS CLK

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz

GPIO_Init(GPIOC, &GPIO_InitStructure)

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING //MOSI要用模拟输入

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz

GPIO_Init(GPIOC, &GPIO_InitStructure)

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP//MISO

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz

GPIO_Init(GPIOA, &GPIO_InitStructure)

}

初始化引脚以后就可以编写发送和接收函数了,很简单的。

可以。51试过以前使用12864液晶时使用单片机IO口模拟SPI总线,导致显示程序耗时多,频繁刷新屏幕有闪烁。STC新的单片机(比如STC12C5A60S2)自带有SPI总线接口,用SPI硬件驱动LCD无疑是一个很好的选择。做过LCD功能扩展的朋友们知道,LCD驱动程序的核心就是SPI通讯部分,我们只用改写这一部分程序就可以,其他程序不变。这里我参考了STC的数据手册和网友的一个程序,还有一个小问题就是丛机的片选端在STC的头文件中是P1.4,但给的演示程序中改为了P1.3,这点要注意。可以发现使用SPI总线驱动时执行效率很高,使用单片机口线最少,十分便于程序编写。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11062264.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存