打印

有没有STR9的CAN例程?

[复制链接]
2284|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
john78|  楼主 | 2008-1-6 23:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有STR9的CAN例程?

最近要搞个CANOPEN
ST网站上只有CAN在TEST模式的DEMO,写的很简单.

有没有那有例程?
沙发
john78|  楼主 | 2008-1-8 08:17 | 只看该作者

香版能否提供些帮助?

使用特权

评论回复
板凳
香水城| | 2008-1-8 08:42 | 只看该作者

实在对不起,我这里暂时没有STR9的CAN例程

除了ST网站上的例子外,我这里也没有其他的,我回去问问吧,看看其他国家的ST分公司谁有。

多说一句,ST给出的例子只需要演示如何初始化硬件模块,如何收发即可,关于使用硬件模块实现CAN的协议,开发者应该能够按照CAN的标准文本自己编写。

不知道楼主碰到什么样的困难。

使用特权

评论回复
地板
john78|  楼主 | 2008-1-8 21:30 | 只看该作者

帮我看看这个段代码是否有问题


// P5.0 alternate input 1, CAN_RX 
  GPIO_StructInit(&GPIO_InitStruct);
  GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
  GPIO_InitStruct.GPIO_Direction=GPIO_PinInput;
  GPIO_InitStruct.GPIO_Type=GPIO_Type_PushPull;
  GPIO_InitStruct.GPIO_IPConnected=GPIO_IPConnected_Enable;
  GPIO_InitStruct.GPIO_Alternate=GPIO_InputAlt1;
  GPIO_Init(GPIO5,&GPIO_InitStruct);
  
  // P5.1 alternate output 2, CAN_TX
  GPIO_StructInit(&GPIO_InitStruct);
  GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;
  GPIO_InitStruct.GPIO_Direction=GPIO_PinOutput;
  GPIO_InitStruct.GPIO_Type=GPIO_Type_PushPull;
  GPIO_InitStruct.GPIO_IPConnected=GPIO_IPConnected_Enable;
  GPIO_InitStruct.GPIO_Alternate=GPIO_OutputAlt2;
  GPIO_Init(GPIO5,&GPIO_InitStruct);

SCU_APBPeriphClockConfig(__CAN, ENABLE);
  
  CAN_DeInit();
  
  CAN_InitStructure.CAN_ConfigParameters=CAN_CR_CCE;
  CAN_InitStructure.CAN_Bitrate=CAN_BITRATE_125K;
  CAN_Init(&CAN_InitStructure);
 CAN_InvalidateAllMsgObj();
  CAN_SetTxMsgObj(CAN_TX_MSGOBJ, CAN_STD_ID);
  CAN_SetRxMsgObj(CAN_RX_MSGOBJ, CAN_STD_ID, 0, CAN_LAST_STD_ID, TRUE);
while(1)
{
  CAN_SendMessage(CAN_TX_MSGOBJ, &TxCanMsg[0]);
  CAN_WaitEndOfTx();
  CAN_ReleaseTxMessage(CAN_TX_MSGOBJ);
}

用示波器看不到P5.1上有脉冲(没有发出数据?)
  

使用特权

评论回复
5
香水城| | 2008-1-8 21:38 | 只看该作者

楼主可以参考另一个帖子

这个帖子中10楼的回答应该对你有所启发:https://bbs.21ic.com/club/bbs/list.asp?boardid=49&page=1&t=2820966

使用特权

评论回复
6
john78|  楼主 | 2008-1-8 22:30 | 只看该作者

有点看糊涂了

STR91X的软件库使用手册中
CAN_SetBitrate函数
Required preconditions
CAN_EnterInitMode() must have been called before.
The APB clock must be 8 MHz

系统时钟是96M,怎么使APB为8 MHz?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

220

帖子

1

粉丝