完善资料让更多小伙伴认识你,还能领取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的选项
2644 浏览 1 评论
3209 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1784 浏览 1 评论
3613 浏览 6 评论
5990 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 12:20 , Processed in 1.475550 second(s), Total 103, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号