完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好;
我正在尝试使用SPI与外部闪存(M25PE80)进行通信。我正在使用STM8SPI库,但我没有成功写入/读取内存。我的疑问是关于引脚的配置。是否有任何Option Byte我必须设置为使用SPI备用功能?我是否需要使用GPIO_Init配置用于SPI(MISO,MOSI,CLK)的端口?对于片选引脚,我使用PortG0作为GPIO_MODE_OUT_PP_LOW_FAST。 这些是我用来初始化SPI的代码(来自stm8s_spi.c的功能): SPI_DeInit(); SPI_Init(SPI_FIRSTBIT_MSB,SPI_BAUDRATEPRESCALER_64,SPI_MODE_MASTER,SPI_CLOCKPOLARITY_HIGH,SPI_CLOCKPHASE_2EDGE,SPI_DATADIRECTION_2LINES_FULLDUPLEX,SPI_NSS_SOFT,0x07); SPI_Cmd(ENABLE); 问候 以上来自于谷歌翻译 以下为原文 Hello; I'm trying to communicate to an external flash memory (M25PE80) using SPI. I´m using the STM8SPI librarie but I´m not having success to write/read from memory. My doubt is about the configuration of pins. Are there any Option Byte that I must set to use the SPI alternate function? Does I need to use the GPIO_Init to configure the ports used for SPI (MISO, MOSI, CLK)? For the Chip Select pin, I´m using the PortG0 as GPIO_MODE_OUT_PP_LOW_FAST. These are the code I´m using to init the SPI (Funtions from stm8s_spi.c): SPI_DeInit(); SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_64,SPI_MODE_MASTER,SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX,SPI_NSS_SOFT, 0x07); SPI_Cmd(ENABLE); Regards |
|
相关推荐
3个回答
|
|
问题解决了!无需配置SPI引脚。 Init Function配置所有正确的参数。
以上来自于谷歌翻译 以下为原文 Problem Solved! There is no need to configure the SPI pins. The Init Function configure all the correct parameters. |
|
|
|
尚未尝试SPI,但SPI_NSS引脚不应该作为芯片选择吗? (而不是在您的示例中使用GPIOG0)
以上来自于谷歌翻译 以下为原文 Haven't tried yet SPI, but isn't the SPI_NSS pin supposed to act as a chip select? (instead of using GPIOG0 in your example) |
|
|
|
你好尼科;
是的,作为输出引脚,您可以使用GPIOE5引脚,但考虑到在SPI通信中您可以选择与您拥有的芯片选择引脚一样多的器件,您可以为此功能配置任何I / O引脚(芯片选择)。要写入外部闪存,您需要控制设置或重置此引脚的确切时刻。其他引脚实际上是备用功能引脚。您只需在寄存器上写入,ucontroller就会为您发送/接收数据。 问候。 法比奥 以上来自于谷歌翻译 以下为原文 Hello Nico; Yes, as an output pin you could use the GPIOE5 pin, but considering that in SPI communication you can select as many devices as many chip select pins you have, you could config any I/O pin for this function (chip select). For write into the external flash memory you will need to control the exactly moment to set or reset this pin. The other pins are really alternate function pins. You just write on a register and the ucontroller transmits/receive data for you. Regards. Fabio |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2741 浏览 1 评论
3244 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1813 浏览 1 评论
3653 浏览 6 评论
6043 浏览 21 评论
1342浏览 4评论
203浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
356浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
446浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
275浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:51 , Processed in 1.333157 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号