OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7703|回复: 8

STM32F407关于DM9000的问题

[复制链接]

8

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-11-20
在线时间
4 小时
发表于 2015-7-15 09:01:01 | 显示全部楼层 |阅读模式
5金钱

用407的FSMC驱动dm9000AE获取ID时为什么获取的是ID所在寄存器的地址,是哪里出问题了,求解



uint32_t dm9k_ReadID(void)
{
 uint8_t vid1,vid2,pid1,pid2;

 if (s_FSMC_Init_Ok == 0)
 {
  DM9K_CtrlLinesConfig();
  DM9K_FSMCConfig();

  s_FSMC_Init_Ok = 1;
 }
 vid1 = dm9k_ReadReg(DM9000_REG_VID_L) & 0xFF;
 vid2 = dm9k_ReadReg(DM9000_REG_VID_H) & 0xFF;
 pid1 = dm9k_ReadReg(DM9000_REG_PID_L) & 0xFF;
 pid2 = dm9k_ReadReg(DM9000_REG_PID_H) & 0xFF;

 return (vid2 << 24) | (vid1 << 16) | (pid2 << 8) | pid1;
}



uint8_t dm9k_ReadReg(uint8_t reg)
{
 NET_REG_ADDR = reg;
 return NET_REG_DATA;
       
}static void DM9K_FSMCConfig(void)
{
 FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
 FSMC_NORSRAMTimingInitTypeDef  p;

 /*-- FSMC Configuration ------------------------------------------------------*/
 /*----------------------- SRAM Bank 3 ----------------------------------------*/
 /*-- FSMC Configuration ------------------------------------------------------*/
 p.FSMC_AddressSetupTime = 6;  /* 设置为2会出错; 3正常 */
 p.FSMC_AddressHoldTime = 2;           
 p.FSMC_DataSetupTime = 4;   /* 设置为1出错,2正常 */
 p.FSMC_BusTurnAroundDuration = 1;        
 p.FSMC_CLKDivision = 0;
 p.FSMC_DataLatency = 0;
 p.FSMC_AccessMode = FSMC_AccessMode_A;

 FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
 FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
 FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; // FSMC_MemoryType_PSRAM;
 FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
 FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
 FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
 FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
 FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
 FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
 FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
 FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
 FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
 FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
 FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
 FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;

 FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

 /*!< Enable FSMC Bank1_SRAM3 Bank */
 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE);
}






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-7-16 00:20:42 | 显示全部楼层
可以参考下我们STM32F103的DM9000例程。
注意:FSMC速度的设置,不能太快,另外,DM9000的硬件连接得正确。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2015-3-3
在线时间
7 小时
发表于 2016-8-2 21:07:57 | 显示全部楼层
正点原子 发表于 2015-7-16 00:20
可以参考下我们STM32F103的DM9000例程。
注意:FSMC速度的设置,不能太快,另外,DM9000的硬件连接得正确。

STM32F103的DM9000例程在哪里啊?  为什么找不到   谢谢了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2016-8-3 21:29:14 | 显示全部楼层
xumvp5577 发表于 2016-8-2 21:07
STM32F103的DM9000例程在哪里啊?  为什么找不到   谢谢了

战舰V3的例程,下载,里面的标准例程,网络通信实验.就用的DM9000
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2015-3-3
在线时间
7 小时
发表于 2016-8-5 18:02:35 | 显示全部楼层
正点原子 发表于 2016-8-3 21:29
战舰V3的例程,下载,里面的标准例程,网络通信实验.就用的DM9000

按照程序调试了,读取芯片ID正常,就是ping的时候一直ping不通,提示:拒绝访问。求指点。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2016-8-6 20:12:54 | 显示全部楼层
xumvp5577 发表于 2016-8-5 18:02
按照程序调试了,读取芯片ID正常,就是ping的时候一直ping不通,提示:拒绝访问。求指点。

慢慢对比我们的例程吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-6-21
在线时间
12 小时
发表于 2017-8-17 18:17:54 | 显示全部楼层
楼主搞定了没?我现在是第一次接受数据就提示接受溢出!
回复

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1837
金钱
1837
注册时间
2014-12-4
在线时间
717 小时
发表于 2019-1-7 21:35:13 | 显示全部楼层
楼主问题解决了吗???   我用407驱动DM9000  串口一直输出dm9000 rx: rx error, stop device       不知道是哪的问题
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-7-11
在线时间
6 小时
发表于 2020-7-16 10:41:15 | 显示全部楼层
loudianxin 发表于 2019-1-7 21:35
楼主问题解决了吗???   我用407驱动DM9000  串口一直输出dm9000 rx: rx error, stop device       不知 ...

我和你一样的问题,请问你解决了吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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