STM32F103C6 CAN奇怪问题
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);
哪位大虾 能够帮帮啊??????????????????????????
RE:STM32F103C6 CAN奇怪问题
只看这些代码没有问题,要看工程比较好。因为不知道系统时钟是多大。好个和系统时钟关联,默认都是72M的、回复:STM32F103C6 CAN奇怪问题
我的外部晶体是 8M , 采用 HSE , 50K 通讯时能够 发数, 250K 时USB CAN 接收不到数据, 但用示波器有波形, 把工程 附上回复:STM32F103C6 CAN奇怪问题
波特率为5K 10K 50K 125K 都能够用 USB/CAN 收到数据250K ,500K 1M 就收不到数了 ,,一头雾水。。。。。。。。。
回复: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
关于配置你可以参考下图
回复:STM32F103C6 CAN奇怪问题
问题找到了, 问题在硬件上
页:
[1]