历史上的今天
返回首页

历史上的今天

今天是:2025年08月05日(星期二)

正在发生

2019年08月05日 | STM32 Hal库SPI中断

2019-08-05 来源:eefocus

SPI从机接受接收中断配置


SPI_HandleTypeDef SPI2_Handler;  //SPI2句柄

 

uint8_t receive_byte;   

//SPI口初始化

void SPI2_Init(void)

{

    SPI2_Handler.Instance=SPI2;                         //SPI2

    SPI2_Handler.Init.Mode=SPI_MODE_SLAVE;             //设置SPI工作模式,设置为主模式

    SPI2_Handler.Init.Direction=SPI_DIRECTION_2LINES;   //设置SPI单向或者双向

    SPI2_Handler.Init.DataSize=SPI_DATASIZE_8BIT;       //设置SPI的数据大小

    SPI2_Handler.Init.CLKPolarity=SPI_POLARITY_HIGH;    //串行同步时钟的空闲状态为高电平

    SPI2_Handler.Init.CLKPhase=SPI_PHASE_2EDGE;         //串行同步时钟的第二个跳变沿(

    SPI2_Handler.Init.NSS=SPI_NSS_SOFT;                 //NSS信号由硬件(NSS管脚)

    SPI2_Handler.Init.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2;//定义波特率预分频的值

    SPI2_Handler.Init.FirstBit=SPI_FIRSTBIT_MSB;        //指定数据传输从MSB位还是LSB位

    SPI2_Handler.Init.TIMode=SPI_TIMODE_DISABLE;        //关闭TI模式

    SPI2_Handler.Init.CRCCalculation=SPI_CRCCALCULATION_DISABLE;//关闭硬件CRC校验

    SPI2_Handler.Init.CRCPolynomial=7;                  //CRC值计算的多项式

    HAL_SPI_Init(&SPI2_Handler);//初始化

 

    //SPI2_ReadWriteByte(0Xff);                           //启动传输

 

HAL_SPI_Receive_IT(&SPI2_Handler, &receive_byte, 1);

HAL_NVIC_SetPriority(SPI2_IRQn, 2, 0);

HAL_NVIC_EnableIRQ(SPI2_IRQn);

__HAL_SPI_ENABLE(&SPI2_Handler);             //使能SPI

}

 

/**

* @brief This function handles SPI2 global interrupt.

*/

void SPI2_IRQHandler(void)

{

HAL_SPI_IRQHandler(&SPI2_Handler);

HAL_SPI_Receive_IT(&SPI2_Handler, &receive_byte, 1);

}


推荐阅读

史海拾趣

Bivar公司的发展小趣事

在电子行业的竞争中,Bivar公司意识到单打独斗难以取得长久的成功。因此,公司积极寻求与其他企业的合作机会,共同开发新产品、拓展市场。通过与上下游企业的紧密合作,Bivar不仅降低了成本、提高了效率,还获得了更多的资源和支持,进一步巩固了市场地位。

EXCELTA公司的发展小趣事

近年来,随着环保意识的提高和可持续发展的理念深入人心,Excelta也积极响应这一趋势。公司不断优化生产工艺和材料选择,降低产品对环境的影响。同时,公司还积极参与环保公益活动和社会责任项目,为社会和环境贡献自己的力量。这一转变不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

Diodes Incorporated公司的发展小趣事

近年来,Diodes Incorporated的财务表现稳步提升。根据公司公布的财报数据显示,公司归母净利润持续增长,营业收入也保持着稳定的增长态势。这一成绩的取得,得益于公司对产品质量的严格把控、对市场需求的精准把握以及对新技术的持续投入。同时,公司还通过优化生产流程、降低生产成本等措施,进一步提升了盈利能力。

Advance Tapes公司的发展小趣事

随着环保意识的日益增强,电子行业对环保材料的需求也越来越大。Advance Tapes公司积极响应国家环保政策,致力于研发环保型胶带产品。通过采用环保材料和生产工艺,减少了对环境的污染和资源的浪费。同时,公司还加强了对废弃胶带产品的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了Advance Tapes的企业形象,也为公司的可持续发展奠定了坚实基础。

以上是基于已知信息构建的关于Advance Tapes在电子行业中可能的发展故事。然而,这些故事并非真实的历史记录,仅用于展示该公司可能的发展路径和面临的挑战。如需了解更多关于Advance Tapes公司的真实发展历程和故事,建议查阅相关文献资料或访问公司官网。

AXSEM公司的发展小趣事

随着环保意识的日益增强,电子行业对环保材料的需求也越来越大。Advance Tapes公司积极响应国家环保政策,致力于研发环保型胶带产品。通过采用环保材料和生产工艺,减少了对环境的污染和资源的浪费。同时,公司还加强了对废弃胶带产品的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了Advance Tapes的企业形象,也为公司的可持续发展奠定了坚实基础。

以上是基于已知信息构建的关于Advance Tapes在电子行业中可能的发展故事。然而,这些故事并非真实的历史记录,仅用于展示该公司可能的发展路径和面临的挑战。如需了解更多关于Advance Tapes公司的真实发展历程和故事,建议查阅相关文献资料或访问公司官网。

GigPeak公司的发展小趣事

GigPeak公司自成立之初,便专注于高速数据传输技术的研发。在2005年,公司研发团队成功开发出一种新型的光电转换器,该转换器能够在极低的功耗下实现前所未有的数据传输速率。这一技术创新迅速吸引了业界的关注,并成功应用于多个高端数据中心项目,帮助GigPeak在竞争激烈的市场中脱颖而出。随着技术的不断迭代和市场的广泛认可,GigPeak逐渐成为了高速数据传输领域的领军企业。

问答坊 | AI 解惑

ZT:一个技术人员悟到的管理秘诀

我在原来的公司做的时候,就注意观察公司在管理上的成功和失败的经验教训,并在网络上找很多关于管理的文章。     管理上有很多故事,让我领悟到管理就是设计一个合理的机制。          故事之一:分粥          分粥的故 ...…

查看全部问答>

关于信号传输协议中的Blanking(空白)

我在BT.656(一个视频数据传输协议)的数据传输协议中看到,对数据的传输格式规定有相当大小的Blanking部分,占到整个数据传输块的很大一部分,我弄不清这个Blanking有什么用处呢?…

查看全部问答>

美资闪存公司Sr. AE职位(服务器环境的底层软件开发背景)

美资闪存公司Sr. AE职位(服务器环境的底层软件开发背景) JD如下,最重要的是服务器环境下的底层软件开发经验,如Driver、BIOS等,熟悉C或汇编。其他plus的要求:对于Linux内核了解,懂得内核级的内存管理及相应改进,以适应和开展服务器环境下Fla ...…

查看全部问答>

embedded vb 如何把它编译的程序,转成cab阿。在线等

embedded vb 如何把它编译的程序,转成cab阿。在线等 我初次是用这个软件,在他的模拟ppc 2002上已经可以使用了,但是我想安装在真实的机器上测试,不知道怎么弄   希望搞人指教…

查看全部问答>

STM32菜鸟程序!

拿到STM32开发板三天了!写了几个程序!程序简单但对入门还是有点帮助的!我自己下次调试成功了的! 上传供一起刚入门的朋友分享下! 第一天学习:MDK工程建立和GPIO 第二天学习:RCC和按键程序 第三天学习:EXTI程序(一个中断按键程序) 每 ...…

查看全部问答>

stm32f103ze的I2C不行

程序代码如下: 初始化后寄存器如下:起始地址是0x40005800 00000001     00000024  00004000 00000000 00000000    00000000   00000000 00000708 00000035 我不喜欢用提供的函数, ...…

查看全部问答>

新手提问--想学ARM但是不知道先学ARM7或ARM9好还是先学STM32好--有51和avr经验

想学ARM但是不知道先学ARM7或ARM9好还是先学STM32好。我现在一直在用的是51和AVR。…

查看全部问答>

液晶显示图片

在执行以下函数的时候 用仿真发现 i 只能加到14,然后就归零(也就是程序退不出第一个for循环),为什么?按道理说不该这样啊 显示上半屏函数: Write_Command(0x34); //  *******显示上半屏内容设置    for(i=0;i…

查看全部问答>

请大家帮忙看一看这是什么品牌的电感呢

大家帮看看这是什么品牌的电感呢?非常感谢! …

查看全部问答>