问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - CAN
  • HC32F460芯片上的CAN怎么都发不出信息,也收不到信息

    [i=s] 本帖最后由 Pikachu1 于 2021-5-10 18:19 编辑 [/i] 我用的HC32F460PETD芯片,烧的华大的官方例程,怎么都发不出数据,也收不到数据,CAN芯片没有问题,如果用调试工具发送的时候,CAN芯片的CAN_TX和CAN_RX 可以用示波器检测到数据。

    国产MCU 国产芯片 CAN 芯片 hc32f460 示波器

    954浏览量 2回复量 关注量
  • Joz

    急切求助 [关于MM32f103c8t6 CAN 中断接收]

    处理器:MM32f103c8t6问题:中断接收函数进入不了 关于我的代码:应用RTX系统,主用到了定时器/can/uart/FLASH 描述:使用例程的代码烧录到板子可以进入,我的代码和例程的参数配置一致,例程可以正常进入can接收函数,我的代码不能进入 下面贴出配置代码: [img]file:///C:\Users\23396\AppData\Roaming\Tencent\Users\2339648935\TIM\WinTemp\RichOle\5Q8V%F7ZR6SMDR}{_%3T`LJ.png[/img][img]file:///C:\Users\23396\AppData\Roaming\Tencent\Users\2339648935\TIM\WinTemp\RichOle\G7([P1TK$PMPWL5V}X1RL$U.png[/img][img]file:///C:\Users\23396\AppData\Roaming\Tencent\Users\2339648935\TIM\WinTemp\RichOle\NPB79WM~N{J)J[YBP8Q9$IL.png[/img] 找不到是啥原因引起的,特此发帖求助各位义士!

    MM32 CAN mm32f103 RS TE se

    1365浏览量 6回复量 关注量
  • CAN 发送之后就一直在发送

    CAN 发送之后就一直在发送,不知问题出在什么地方,请大神帮个忙!

    CAN AN

    1171浏览量 4回复量 关注量
  • MM32L073TW sos

    使用MM32L073TW的内部晶振,由于板子有尺寸需要,没有加外部晶振,所以使用内部晶振,供电采用5V使用J-LINK识别不出芯片,采用3.3V能够识别出芯片,串口、can均能正常通信,但电源一旦接上5V,程序能执行,但串口、CAN通信均异常 实际测量发现是3.3V供电和5V供电内部HSI变化太大,差不多16%。实际不知道随温度变化还有多大,也不知这样如何校准

    MM32 mm32l073 供电 晶振 CAN 通信

    837浏览量 0回复量 关注量
  • NUC970 CAN 接收任意ID 数据包

    1、NUC970 裸机程序2、怎样配置CAN的寄存器,使CAN通信能够接收任意ID的数据包。 谢谢!

    MUC 单片机 CAN 数据包 nuc970 寄存器

    215浏览量 1回复量 关注量
  • GD32E103 CAN 功能收发问题 sos

    诸位兄弟姐们打扰了,最近在测试GD32e103的can功能, 根据资料范例程序和网上相关帖子测试程序收发均有问题, 希望哪位兄弟有成功经验的能够传授一下,甚是感谢!!!

    CAN AN 测试程序

    620浏览量 0回复量 关注量
  • AC7801X CAN ID设置后 有问题

    参考 官方例程改的 不知道是哪里没有设置对 过滤ID有问题 前面两个ID一直收不到 (使用的是回环模式) CAN_MsgInfoType g_sendCANMsgInfo; CAN_MsgInfoType g_recvCANMsgInfo; CAN_FilterControlType canFilterControl01[]= { {0, ENABLE, CAN_ID_1, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; CAN_FilterControlType canFilterControl02[]= { {1, ENABLE, CAN_ID_2, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; CAN_FilterControlType canFilterControl03[]= { {2, ENABLE, CAN_ID_3, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; CAN_FilterControlType canFilterControl04[]= { {3, ENABLE, CAN_ID_4, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; CAN_FilterControlType canFilterControl05[]= { {4, ENABLE, CAN_ID_5, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; CAN_FilterControlType canFilterControl06[]= { {5, ENABLE, CAN_ID_6, 0x00000000}, ///<Ö»½ÓÊÕ0x400 ID }; u8 sendDataBuff[CAN_SEND_LENGTH] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}; u8 recvDataBuff[CAN_RECIEVE_LENGTH] = {0}; u8 can_recieve_buffer[CAN_RECIEVE_LENGTH] = {0}; void CAN0_IRQnCallBack(void *device, uint32_t wpara, uint32_t lpara); void CAN0_gpio_init(void) { CKGEN_Enable(CLK_CAN0, ENABLE); GPIO_SetFunc(GPIOB, GPIO_PIN0, GPIO_FUN3);//CAN0_TX GPIO_SetFunc(GPIOB, GPIO_PIN1, GPIO_FUN3);//CAN0_RX // GPIO_SetFunc(GPIOC, GPIO_PIN8, GPIO_FUN0);//CAN0_STB // GPIO_SetDir(GPIOC, GPIO_PIN8, GPIO_OUT);//ÉèÖÃCAN0ÊÕ·¢Æ÷¿ØÖÆΪIO¿ØÖÆ //CAN0_TRASCVER_NML;//ʹÄÜCANÊÕ·¢Æ÷ // GPIO_SetPinLevel(GPIOC, GPIO_PIN8, GPIO_LEVEL_LOW); } void CAN_InitHardwr(void) { CAN_ConfigType canConfig; CAN_BitrateConfigType canBandrateConfig; //CAN_FilterControlType CAN_FilterControlTypedef; CAN0_gpio_init(); /* ÉèÖò¨ÌØÂÊΪ500K,²ÉÑùµãΪ81.25%. tSeg1 = (S_SEG_1 + 2); tSeg2 = (S_SEG_2 + 1). BandRate = (48M / (S_PRESC + 1) / ((S_SEG_1 + 2) + (S_SEG_2 + 1))) SamplePoint = (tSeg1 / (tSeg1 + tSeg2)). ÔÚÒѾ­ÖªµÀ²¨ÌØÂÊÓë²ÉÑùµãµÄÇé¿öÏÂ,¾­¹ý¼ÆËãºó:tSeg1 = 13,tSeg2 = 3. */ canBandrateConfig.PRESC = 11;//·ÖƵºóʱÖÓΪ8M. canBandrateConfig.SEG_1 = 11; canBandrateConfig.SEG_2 = 2; canBandrateConfig.SJW = 2;//Âú×ãS_SJW <= tSeg2¼´¿É. canConfig.interruptMask = CAN_IRQ_ALL_ENABLE_MSK; //´ò¿ªËùÓÐÖÐ¶Ï canConfig.canMode = CAN_MODE_LOOPBACK_INTERNAL;//CAN_MODE_NORMAL;// canConfig.clockSrc = CAN_CLKSRC_AHB; canConfig.tsMode = CAN_TSMODE_FIFO; canConfig.tsAmount = CAN_TRANSMIT_ONE; canConfig.interruptEn = ENABLE;//ʹÄÜÖÐ¶Ï canConfig.tpss = DISABLE; canConfig.tsss = ENABLE; canConfig.timeStampEn = DISABLE; /*!< Time stamp enable */ canConfig.timeStampClk = CAN_TIME_CLK_DIVIDER_8; /*!< Time stamp clock */ canConfig.timeStampPos = CAN_TIME_STAMP_SOF; /*!< Time stamp position */ canConfig.rom = CAN_RECV_OVER_WRITE; canConfig.selfAckEn = DISABLE; /*!< Self-Acknowledge enable(when LBME=1) */ canConfig.fdModeEn = DISABLE; /*!< FD enable */ canConfig.fdIsoEn = DISABLE; /*!< FD ISO mode */ canConfig.tdcEnable = DISABLE; canConfig.filterNum = 0; //canConfig.filterList = &CAN_FilterControlTypedef; canConfig.filterList = canFilterControl01;//¸³Öµ¹ýÂËÆ÷ÉèÖÃlist canConfig.callback = CAN0_IRQnCallBack; canConfig.normalBitrate = &canBandrateConfig; g_sendCANMsgInfo.DATA = sendDataBuff; g_recvCANMsgInfo.DATA = recvDataBuff; CAN_Init(CAN0, &canConfig); canConfig.filterNum = 1; canConfig.filterList = canFilterControl02; CAN_Init(CAN0, &canConfig); canConfig.filterNum = 2; canConfig.filterList = canFilterControl03; CAN_Init(CAN0, &canConfig); canConfig.filterNum = 3; canConfig.filterList = canFilterControl04; CAN_Init(CAN0, &canConfig); canConfig.filterNum = 4; canConfig.filterList = canFilterControl05; CAN_Init(CAN0, &canConfig); canConfig.filterNum = 5; canConfig.filterList = canFilterControl06; CAN_Init(CAN0, &canConfig); } void CAN_send_data(u32 ID, u8 *buffer) { g_sendCANMsgInfo.ID = ID; g_sendCANMsgInfo.IDE = 1; g_sendCANMsgInfo.DLC = 8; for (u8 a=0; a

    CAN AC TE Filter LTE

    421浏览量 2回复量 关注量
  • GD32的CAN_EWMC是什么中断?

    请教各位:GD32的CAN中断中,除了发送、接收中断,还有一个比较特殊的EWMC中断。请问这个中断是起什么作用的呢?

    CAN AN

    457浏览量 1回复量 关注量
  • 为何GD32E103最新的固件库中CAN相关的都没有了

    最近使用GD32E103的can,使用的1.0.0的固件库发现在CAN和CANFD混用的时候相关操作函数有些BUG,然后下载了1.2.0的库发现can相关的东西完全没有了

    CAN 固件库 BUG 函数 UG

    1289浏览量 4回复量 关注量
  • 【求助】请问CC2540 怎么在广播里面广播出mac地址啊? sos

    各位大神, 请问怎么在广播里面广播出mac地址? 我自己的想法是,先获取到mac地址,再把mac地址添加到scanRspData[]中? 但是我在使用GAPRole_GetParameter的时候,在蓝牙状态改变的回调函数中可以正常使用,在其他地方就不行。 请问还有什么方法可以获取吗?

    MAC地址 CC2540 CAN ge pd

    66浏览量 0回复量 关注量
  • 改成正常模式下不好用

    STM32F103 64引脚,CAN程序在环回模式下好用,但改成正常模式下不好用,不知道还注意些什么

    CAN can程序 ST stm32f10 STM32F1

    215浏览量 29回复量 关注量