搜索
bottom↓
回复: 24

使用stm32radio-examples中的例子,网络ping不通问题请教

[复制链接]

出0入0汤圆

发表于 2010-8-7 13:57:05 | 显示全部楼层 |阅读模式
我使用armfly的STM32板子,学习STM32 Radio中的例子,网络部分ping不通,armfly的STM32板子和本站的STM32 Radio在网络部分硬件上有些差别,中断引脚不一样,总线地址不一样,两个部分都按实际情况修改了,但ping不通,
截图见图片:

现象截图 (原文件名:20100807135502453.jpg)

请明白的指导指导,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-8-7 20:38:14 | 显示全部楼层
请自行修改驱动,不同的板子驱动当然也不相同。

出0入0汤圆

 楼主| 发表于 2010-8-9 08:19:31 | 显示全部楼层
发现了一些问题,STM32 Radio中总线好像是用八位,armfly的是16位,继续改

出0入0汤圆

发表于 2010-8-9 09:09:55 | 显示全部楼层
回复【2楼】lixuyongzd  
发现了一些问题,stm32 radio中总线好像是用八位,armfly的是16位,继续改
-----------------------------------------------------------------------
RADIO中也是16位,如果使用8位,会影响高8位数据.

出0入0汤圆

 楼主| 发表于 2010-8-9 09:51:36 | 显示全部楼层
回复【3楼】aozima
-----------------------------------------------------------------------

看原理图DM9000A的21脚是高电平,芯片手册上说高电平时是8位,难道还有其他设置?

出0入0汤圆

发表于 2010-8-9 12:29:10 | 显示全部楼层
回复【4楼】lixuyongzd  
回复【3楼】aozima
-----------------------------------------------------------------------
看原理图dm9000a的21脚是高电平,芯片手册上说高电平时是8位,难道还有其他设置?
-----------------------------------------------------------------------
那个电阻实际安装时并不贴. 只是留着备用的.

出0入0汤圆

 楼主| 发表于 2010-8-9 15:09:01 | 显示全部楼层
这个就搞不明白了,stm32 radio和armfly的区别就只有地址(armfly的是0x6C100000、0x6C100008)、中断引脚(armfly的是PA1)和中断方式的区别(armfly上DM9000A的20脚上拉,中断是低有效)的区别,仿真是开始进中断,后来不进中断了,

出0入0汤圆

发表于 2010-8-9 16:27:56 | 显示全部楼层
硬件不一样,自然区别也比较大的。对于不是STM32 Radio硬件的,建议使用原来的STM3210分支进行调试,毕竟要简单些。

出0入0汤圆

 楼主| 发表于 2010-8-9 16:54:42 | 显示全部楼层
这个我是用STM3210分支的,结果是一样的,rtt finsh显示TCP/IP初始化,但是ping不通,另外一个网友用的是STM32 Radio分支,现象一样,自己电脑的网卡出问题了,公司又不敢明目张胆的弄私人东西

出0入0汤圆

发表于 2010-8-9 17:04:01 | 显示全部楼层
如果不同,怎么获取IP地址呀,我看你那上面已经获取到IP了

出0入0汤圆

 楼主| 发表于 2010-8-9 17:13:49 | 显示全部楼层
我也纳闷呀,能自动获得IP

出0入0汤圆

发表于 2010-8-9 17:19:20 | 显示全部楼层
接收成功,发送不成功?不过感觉很奇怪,发送应该也能够成功才对,否则DHCP server不会接收到分配请求。

建议仔细看看FSMC部分,好像armfly的FSMC外设比较麻烦。

出0入0汤圆

 楼主| 发表于 2010-8-9 17:22:41 | 显示全部楼层
恩,好,谢谢指导

出0入0汤圆

发表于 2010-8-9 22:00:12 | 显示全部楼层
好像他的外设增加了地址扩展,看下相应的pin有没有设置好

出0入0汤圆

发表于 2010-8-9 23:36:24 | 显示全部楼层
找了块armfly的板子,确实有楼主说的问题,能够获取ip,但是ping不通,但是用他自带的例程可以,不知道问题在哪

出0入0汤圆

 楼主| 发表于 2010-8-10 08:28:10 | 显示全部楼层
PA1中断引脚在开始分配IP时有下降沿,可以进入中断,后来就一直为低电平,进不了中断了

出0入0汤圆

发表于 2010-8-10 09:21:53 | 显示全部楼层
搜一下,看看是不是在别的地方使用到PA1了,并且修改了PA1的状态。我也觉得很奇怪,用armfly的也可以更新电台列表,就是ping不同

出0入0汤圆

发表于 2010-8-10 09:48:12 | 显示全部楼层
static void GPIO_Configuration()
{
    GPIO_InitTypeDef GPIO_InitStructure;
    EXTI_InitTypeDef EXTI_InitStructure;

    /* configure PE5 as eth RST */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOE,&GPIO_InitStructure);
    GPIO_SetBits(GPIOE,GPIO_Pin_5);
    //RST_1();

    /* configure PE4 as external interrupt */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
    GPIO_Init(GPIOE, &GPIO_InitStructure);

不知道这个地方你是不是只把PE4改成了PA1, 估计因为GPIO_Mode 为下拉输入的原因,所以一直为低电平

    /* Connect DM9000 EXTI Line to GPIOE Pin 4 */
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource4);

    /* Configure DM9000 EXTI Line to generate an interrupt on falling edge */
    EXTI_InitStructure.EXTI_Line = EXTI_Line4;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

出0入0汤圆

 楼主| 发表于 2010-8-10 10:24:10 | 显示全部楼层
我现在的比较简单,用STM3210分支,其他地方都没有用到PA1,工程见附件,串口波特率是19200,目前SD和LED管用
工程ourdev_574089.rar(文件大小:25.83M) (原文件名:rt-thread_20100807.rar)

出0入0汤圆

 楼主| 发表于 2010-8-10 10:31:36 | 显示全部楼层
修改成了上拉也不行

出0入0汤圆

 楼主| 发表于 2010-8-10 10:37:13 | 显示全部楼层
我想应该是DM9000A配置问题,armfly上DM9000A的20脚上拉,中断是低有效;STM32 Radio上DM9000A的20脚悬空,中断是高有效,可能DM9000A初始化也要改改

出0入0汤圆

 楼主| 发表于 2010-8-10 10:47:37 | 显示全部楼层
好了,
/* configure PA1 as external interrupt */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    /* Connect DM9000 EXTI Line to GPIOE Pin 1 */
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource1);

    /* Configure DM9000 EXTI Line to generate an interrupt on falling edge */
    EXTI_InitStructure.EXTI_Line = EXTI_Line1;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

中断方式改为下降沿就好了

出0入0汤圆

 楼主| 发表于 2010-8-10 10:54:36 | 显示全部楼层
谢谢各位的关注,特别感谢cat_li大哥的指导,仔细看了引脚配置,发现虽然 写着/* Configure DM9000 EXTI Line to generate an interrupt on falling edge */ ,实际却是 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;上升沿中断

出0入0汤圆

发表于 2010-8-10 11:01:33 | 显示全部楼层
回复【22楼】lixuyongzd
谢谢各位的关注,特别感谢cat_li大哥的指导,仔细看了引脚配置,发现虽然 写着/* configure dm9000 exti line to generate an interrupt on falling edge */ ,实际却是 exti_initstructure.exti_trigger = exti_trigger_rising;上升沿中断

-----------------------------------------------------------------------

呵呵,昨天用朋友的板子也碰到这个问题了,早上来找了一下,但是没有硬件验证,    我是菜鸟,指导不敢当

出0入0汤圆

 楼主| 发表于 2010-8-10 11:06:54 | 显示全部楼层
上传ping通的工程,加入了外部ram
pingourdev_574103.rar(文件大小:25.74M) (原文件名:rt-thread_20100807.rar)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 15:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表