历史上的今天
今天是:2024年09月11日(星期三)
2019年09月11日 | 发现的STM32——SPI的问题
2019-09-11 来源:eefocus
SPI点亮OLED屏
运行程序时发送几十次的数据总是会有看门狗的复位,后来发现程序每次都死在了while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET)这里,查阅资料后发现是SPI有FIFO端口,参考SPI/I2S调试总结
//用SPI1往OLED屏中写一个bituint8_t SPI1_WriteByte(uint8_t byte)
{
while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData(SPI1, byte);
while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_BSY)==SET);//若写成 while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET)则有一定几率卡死在这里
return SPI_I2S_ReceiveData(SPI1);
}
上一篇: STM32Cube-按键控制LED
史海拾趣
|
如题,因为8155只需要低八位地址,P2想留做他用,故想采用普通IO模拟地址总线、ALE、WR等端口方式实现。按照时序图写出程序,但实验失败,在此求助,先谢过啦。代码如下: #include #include sbit AL = P2^0; //ALE sbit W = P2^2 ...… 查看全部问答> |
|
编了个定时控制LED闪烁的程序程序。运行,验证OK。如下: #include <reg52.h> #define uint unsigned int; uint timer_inc; sbit led1=P0^1; void inittimer( ){ TMOD=0x0 ...… 查看全部问答> |
|
由于七月外地的比赛,拖了好多天,一直到7月底才开始动工,这个初步情况如下: 1.EEWORLD购买ADI所有的芯片已经到位 2.所有芯片资料都已经阅读和理解完毕 3.所有原理图和PCB已经设计完成并已经制板,开始进入了焊接 ...… 查看全部问答> |
|
1年前买的开发板,当时想从单片机转ARM,后来工作中用的是FPGA直到现在。所以,从开发板买回来后,测试了一下,就被我雪藏了。现在我也不再打算学ARM9,开发板留着就太浪费资源了,所以想把它转让给有需要的朋友。开发板是9.99成新,当初的买入价格 ...… 查看全部问答> |
|
昨天申请的样片到了,今天淘宝的最小系统也到了,一个人在实验室焊贴片 这是我第一次焊贴片,焊了4块,有两块焊的很完美,还有两块修修补补也成功了 两个块MSP430F149,两块MSP430F168,引脚是兼容的,用的一种板子 实验室有热风台,开始以为 ...… 查看全部问答> |
|
感觉下载的资料不够具体,要是能有一套具体的方案可以值得探讨。 现在能源紧缺的大环境下,采用可再生资源来获取能源真的是未来的方向。 这几天正好在看直流电力系统方便的文章,我有一个想法,想在自己家装个太阳能电力系统,然后整个家庭电路中 ...… 查看全部问答> |
|
#include #include #include #include __CONFIG(HS&WDTDIS&LVPDIS); #define uint unsigned int #define uchar unsigned char #define E RB3   ...… 查看全部问答> |
|
STM32F746G-DISCO 能和并口的高速ADC连接吗? 想读取一个14位ADC的数据,ADC使用并行通信,一共14根数据线,还有几根控制线,因为没有FPGA也不会使用FPGA,想使用STM32F746G-DISCO开发板试试,看了一下STM32F746G-DISCO接口,数据线的数量够用,但是对应的I/O是乱序的,PB,PI,PH,PA这些混在一起 ...… 查看全部问答> |




