[STM32F1] 与FPGA并行通信,大家都来看看吧

[复制链接]
 楼主| 时光深巷已无她 发表于 2016-8-13 14:36 | 显示全部楼层 |阅读模式
有人知道这个该怎么写吗,本人用串口写的通信,但老师建议用并口写,要求用stm32发送一串数据给FPGA,然后再接收FPGA发过来的数据。(另外我还有个问题用串口的时候,用串口调试助手测试的时候,要按下发送按钮才会触发stm32的接收中断,要是与FPGA通信该怎么触发stm32的接收中断呢,是置接收引脚的高低电平吗?)
xia00 发表于 2016-8-13 16:19 | 显示全部楼层
接收引脚的高低电平,可以试试看啊
mmuuss586 发表于 2016-8-13 19:43 | 显示全部楼层
并行的话通过FSMC总线好了
就和读写RAM一样
 楼主| 时光深巷已无她 发表于 2016-8-13 20:17 | 显示全部楼层
mmuuss586 发表于 2016-8-13 19:43
并行的话通过FSMC总线好了
就和读写RAM一样

我还有个问题,串口通信的时候,为什么按下复位键,才会将数据发送到串口,我想用其他的按键控制,为什么就不行了呢?
 楼主| 时光深巷已无她 发表于 2016-8-13 20:18 | 显示全部楼层
xia00 发表于 2016-8-13 16:19
接收引脚的高低电平,可以试试看啊

现在写FPGA的同学不在,无法测试罗
玛尼玛尼哄 发表于 2016-8-14 11:55 | 显示全部楼层
你是不是没有放到while里,然后你在while里写个按键触发的函数体不就可以了。
 楼主| 时光深巷已无她 发表于 2016-8-14 13:35 | 显示全部楼层
玛尼玛尼哄 发表于 2016-8-14 11:55
你是不是没有放到while里,然后你在while里写个按键触发的函数体不就可以了。 ...

key=KEY_Scan(0);
        POINT_COLOR=RED;          
        LCD_ShowString(30,70,200,16,16,"USART TEST");
        USART_ClearFlag(USART1,USART_FLAG_TC);
         while(key==KEY0_PRES)
         {
                  for(t=0;t<2;t++)
                        {       
                                USART_SendData(USART1,a[t]);
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
                        }       
                }
               
while(1)
        {
                if(USART_RX_STA&0x8000)
                {       
        POINT_COLOR=RED;          
                     LCD_ShowString(30,40,200,16,16,USART_RX_BUF);                        
                //        len=USART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶È
                //        printf("\r\nÄú·¢Ë͵ÄÏûϢΪ:\r\n");                       
                //        printf("\r\n\r\n");//²åÈë»»ÐÐ
                        USART_RX_STA=0;
                        LED1=0;
            POINT_COLOR=RED;          
            LCD_ShowString(35,100,200,16,16,"over");       
                }
        }         你看看我的发送前面加个按键,但测试的时候按键根本没效果
 楼主| 时光深巷已无她 发表于 2016-8-14 19:41 | 显示全部楼层
mmuuss586 发表于 2016-8-13 19:43
并行的话通过FSMC总线好了
就和读写RAM一样

谢谢,我先来看看FSMC模块吧!
玛尼玛尼哄 发表于 2016-8-17 19:36 | 显示全部楼层
FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。
应该是STM32特有的
lovecat2015 发表于 2016-8-17 20:33 | 显示全部楼层
你看看你的传输有什么特征,是否设置了高低电平变化
 楼主| 时光深巷已无她 发表于 2016-8-18 18:28 | 显示全部楼层
玛尼玛尼哄 发表于 2016-8-17 19:36
FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用一种新型的存储器扩展技术。 ...

stm32迷你版好像不支持FSMC,坑爹啊
 楼主| 时光深巷已无她 发表于 2016-8-18 18:29 | 显示全部楼层
lovecat2015 发表于 2016-8-17 20:33
你看看你的传输有什么特征,是否设置了高低电平变化

串口我已经知道该怎么来触发接收中断了
596142041 发表于 2016-8-18 21:07 | 显示全部楼层
如果能够用FSMC最好,如果木有,自己定义一下数据格式
玛尼玛尼哄 发表于 2016-8-23 14:36 | 显示全部楼层
FSMC可以实现很牛叉的通信方式。
豆腐块 发表于 2016-8-23 21:50 | 显示全部楼层
FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。
行的云 发表于 2017-4-7 16:32 | 显示全部楼层
 楼主| 时光深巷已无她 发表于 2017-4-7 16:58 | 显示全部楼层
哈哈哈转眼电赛结束了,都找工作了
dzfansman 发表于 2017-4-7 23:05 | 显示全部楼层
这个使用串口不行吗
dzfansman 发表于 2017-4-7 23:07 | 显示全部楼层
STM32的FSMC和FPGA通信就可以。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

247

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

46

主题

247

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部