你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3585|回复: 5

STM32F103C6 CAN奇怪问题

[复制链接]

5

主题

23

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2011-7-2 09:12:41 | 显示全部楼层 |阅读模式
STM32F103C6 用  CAN 例子程序的 查询方式是可以发送 用 USB CAN 能够接受到数据 , 例子是100K 而,实际是50K  , 当改动 CAN_InitStructure.CAN_Prescaler=1;  应该是250K   可以用 USB CAN 接受不到数据
 晶体是8M HZ
    RCC_HCLKConfig(RCC_SYSCLK_Div1);
 
    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1);
    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);
    /* Enable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    /* Select HSE as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
    /* Wait till HSE is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x04)
    {
    }
 
 CAN_InitStructure.CAN_TTCM=DISABLE;
  CAN_InitStructure.CAN_ABOM=DISABLE;
  CAN_InitStructure.CAN_AWUM=DISABLE;
  CAN_InitStructure.CAN_NART=DISABLE;
  CAN_InitStructure.CAN_RFLM=DISABLE;
  CAN_InitStructure.CAN_TXFP=DISABLE;
//  CAN_InitStructure.CAN_Mode=CAN_Mode_LoopBack;
   CAN_InitStructure.CAN_Mode=CAN_Mode_Normal;
  CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;
  CAN_InitStructure.CAN_BS1=CAN_BS1_8tq;
  CAN_InitStructure.CAN_BS2=CAN_BS2_7tq;
//  CAN_InitStructure.CAN_Prescaler=5;  //50K
  CAN_InitStructure.CAN_Prescaler=1;    //250K
  CAN_Init(&CAN_InitStructure);
哪位大虾 能够帮帮啊??????????????????????????
 
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-7-2 15:57:07 | 显示全部楼层

RE:STM32F103C6 CAN奇怪问题

只看这些代码没有问题,要看工程比较好。因为不知道系统时钟是多大。好个和系统时钟关联,默认都是72M的、
回复 支持 反对

使用道具 举报

5

主题

23

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
 楼主| 发表于 2011-7-6 09:46:17 | 显示全部楼层

回复:STM32F103C6 CAN奇怪问题

我的外部晶体是 8M ,   采用 HSE , 50K 通讯时能够 发数, 250K 时USB CAN 接收不到数据, 但用示波器有波形,  把工程 附上

CAN_test_HSE.rar

下载

278.16 KB, 下载次数: 18

回复 支持 反对

使用道具 举报

5

主题

23

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
 楼主| 发表于 2011-7-6 11:37:19 | 显示全部楼层

回复:STM32F103C6 CAN奇怪问题

波特率为5K  10K  50K  125K  都能够用 USB/CAN  收到数据    
250K ,500K  1M  就收不到数了 ,,一头雾水。。。。。。。。。 
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-7-6 14:38:34 | 显示全部楼层

回复:STM32F103C6 CAN奇怪问题

回复第 4 楼 tangxh18于2011-07-06 03:37:19发表:
波特率为5K  10K  50K  125K  都能够用 USB/CAN  收到数据    
250K ,500K  1M  就收不到数了 ,,一头雾水。。。。。。。。。 
 

CAN_InitStructure.CAN_BS1=CAN_BS1_3tq;
 CAN_InitStructure.CAN_BS2=CAN_BS2_2tq;
 CAN_InitStructure.CAN_Prescaler=4;  //125K
波特率不对。还有就是你的系统时钟太低了。我看了一下,你的系统时钟配置的是8M,那么如何你上述那样设置实际的波特率是:110K
 
关于配置你可以参考下图
stm32 CAN手册.jpg
 
回复 支持 反对

使用道具 举报

5

主题

23

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
 楼主| 发表于 2011-7-6 14:40:08 | 显示全部楼层

回复:STM32F103C6 CAN奇怪问题

问题找到了,   问题在硬件上
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版