历史上的今天
返回首页

历史上的今天

今天是: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;


}

推荐阅读

史海拾趣

Emerson公司的发展小趣事

进入20世纪,Emerson迎来了一系列技术突破。1903年,公司成功研发出马力超过1/2的电机,这些电机被广泛应用于洗衣机、缝纫机等家用电器,进一步拓宽了公司的业务范围。此外,Emerson还积极开拓海外市场,通过并购和战略合作,逐步将业务拓展至全球范围。

CINCH公司的发展小趣事

在快速发展的同时,CINCH公司也注重质量管理体系的建设。公司引进了国际先进的质量管理理念和方法,建立了完善的质量管理体系,并通过了ISO9001等质量管理体系认证。这一举措不仅提升了公司的产品质量和服务水平,还增强了客户对公司的信任度和满意度。

百佳(BAIJIA)公司的发展小趣事

百佳公司深知技术创新是企业发展的核心动力。因此,他们不断加大研发投入,引进先进技术和设备,推动产品的升级换代。通过不断创新,百佳公司成功开发出了一系列具有自主知识产权的电子产品,不仅提升了企业的核心竞争力,也为行业的发展做出了重要贡献。

Cambridge Electronic Industries Ltd公司的发展小趣事

Cambridge Electronic Industries Ltd(简称CEI)的创立,标志着剑桥地区电子工业的一次重要飞跃。在20世纪中期,随着电子技术的快速发展,CEI的创始人看到了其中的商机,并决定成立一家专注于电子设备和系统研发制造的公司。起初,CEI主要面向当地的小型企业和研究机构,提供定制化的电子解决方案。凭借创始人的技术背景和团队的辛勤努力,CEI逐渐在剑桥地区的电子市场中建立了良好的声誉。

GarrettCom公司的发展小趣事

布局:随着全球化进程的加速推进,GarrettCom(现为Belden的一部分)积极实施全球化战略。公司在全球范围内设立了多个分支机构和服务中心,以便更好地服务全球客户。同时,公司还加强了与国际知名企业的合作与交流,共同推动电子行业的发展和进步。

成果:通过全球化战略的实施和市场拓展的努力,GarrettCom(现为Belden的一部分)在全球市场上取得了显著的成绩。公司的产品和解决方案被广泛应用于全球各地的工业项目中,赢得了广泛的好评和认可。同时,公司还积极参与国际竞争与合作,不断提升自身的品牌影响力和市场竞争力。

Carlisle Interconnect Components公司的发展小趣事

Carlisle Interconnect Components公司自创立之初,便以创新和突破为核心竞争力。在电子连接器领域,公司凭借其深厚的技术积累和敏锐的市场洞察力,成功研发出一系列具有高性能和稳定性的连接器产品。这些产品不仅满足了市场对高效、可靠连接的需求,更在多个关键领域实现了技术突破,为公司赢得了市场的广泛认可。

问答坊 | AI 解惑

RAM的扩展,RAM的扩展仿真

RAM的扩展,RAM的扩展RAM的扩展,RAM的扩展RAM的扩展,RAM的扩展RAM的扩展,RAM的扩展…

查看全部问答>

关于毕设DSP的选择

麻烦大家了。毕业设计将要做的是视频图像那块,然后在DSP上实现。发现现在大多的论文都是在TI上完成的。 基于一些原因,我想如果在ADI的DSP上去实现,会不会不太主流,请大家帮忙分析一下还有什么弊端。先谢过。…

查看全部问答>

各位高手帮个忙

哪位大哥介绍一下加速传感器的原理和原理图  最好是能传点资料   谢谢啊!…

查看全部问答>

LPCXpresso下载与安装

热烈庆祝获得LPC1343开发板,写了个LPCXpresso下载与安装的教程。 1.LPCXpresso下载 lpcxpresso_3.3.4_170.exe下载地址,需要简单注册 http://lpcxpresso.code-red-tech.com/LPCXpresso/ 2.  安装过程 我选择的是默认设置,所以一 ...…

查看全部问答>

wince上下载图片文件并保存

现在我知道网上有个图片的地址,我想用代码实现下载并保存下,有什么方法实现阿…

查看全部问答>

AMD回应英特尔抢先发新品:时间早晚并不重要

按照计划,AMD的四核处理器“巴塞罗那”的发布日期为2007年9月10日。然而,其老对手英特尔却抢先一步,将其新一代四核至强处理器——7300系列新品的发布日期由原定的9月中旬提前至9月6日。针对英特尔的“抢先”举措,8月28日,AMD大中华区计算产品 ...…

查看全部问答>

PB5.0安装问题

安装PB5.0后建立工程, 生成的工程居然没有 OSDesign View标签. 而且编译OS时 有Invalid parameters passed to Wince.bat 错误. 这个错误网上没有搜到解决办法. 该如何解决? 谢谢.…

查看全部问答>

MQX BSP移植指南

这是我们写的一个MQX操作系统的移植指南。转载请注明出处…

查看全部问答>

求助编程

    请问高手:     1.在定义了下边的变量后,怎么找到其中任意一个变量的数据页(需要赋值时,假设变量很多)?只有找到第一个变量的数据页,再查到偏移量来算吗?有没有别的方法?         &nb ...…

查看全部问答>