历史上的今天
今天是:2024年12月16日(星期一)
2021年12月16日 | STM32模拟SPI通信
2021-12-16 来源:eefocus
(1)更改GPIO配置
由于没有使用到硬件的SPI,那么将硬件初始化SPI部分进行删除,取消GPIO的复用功能,然后更改MOSI和SCLK引脚为输出模式,MISO更改为输入模式。
(2)改写uint8_t SPI1_SendByte(uint8_t byte)函数

void w25qxx_init(void)
{
/*!< Enable GPIO clocks,使能GPIOB硬件时钟 */
RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOB, ENABLE);
//端口配置 PB3 PB5
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_5; //3、5号引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(GPIOB,&GPIO_InitStructure);
//端口配置 PB4
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //4号引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //输入模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(GPIOB,&GPIO_InitStructure);
//初始化片选引脚 PB14
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; //14号引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出功能
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(GPIOB,&GPIO_InitStructure);
//由于M4芯片还没有真正配置好,先不让外部SPI设备工作
W25QXX_SS = 1;
}
//模拟SPI时序必须严格按照外围设备的时序图进行操作
uint8_t SPI1_SendByte(uint8_t byte)
{
uint32_t i=0;
uint8_t d=0;
for(i=0; i<8; i++)
{
//MSB,最高有效位优先
if(byte & (1<<(7-i)))
W25QXX_MOSI = 1;
else
W25QXX_MOSI = 0;
//设置SCLK线为低电平
W25QXX_SCLK = 0;
delay_us(2);
//由于是同步通信,这个时候可以读取数据
if(W25QXX_MISO)
d|=1<<(7-i);
//设置SCLK线为高电平
W25QXX_SCLK = 1;
delay_us(2);
}
return d;
}
上一篇:STM32模拟IIC通信
史海拾趣
|
麻烦大家了。毕业设计将要做的是视频图像那块,然后在DSP上实现。发现现在大多的论文都是在TI上完成的。 基于一些原因,我想如果在ADI的DSP上去实现,会不会不太主流,请大家帮忙分析一下还有什么弊端。先谢过。… 查看全部问答> |
|
热烈庆祝获得LPC1343开发板,写了个LPCXpresso下载与安装的教程。 1.LPCXpresso下载 lpcxpresso_3.3.4_170.exe下载地址,需要简单注册 http://lpcxpresso.code-red-tech.com/LPCXpresso/ 2. 安装过程 我选择的是默认设置,所以一 ...… 查看全部问答> |
|
按照计划,AMD的四核处理器“巴塞罗那”的发布日期为2007年9月10日。然而,其老对手英特尔却抢先一步,将其新一代四核至强处理器——7300系列新品的发布日期由原定的9月中旬提前至9月6日。针对英特尔的“抢先”举措,8月28日,AMD大中华区计算产品 ...… 查看全部问答> |




