求助各位高手,STM32F107RC的CAN不能发送数据 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 4044|回复: 4
求助各位高手,STM32F107RC的CAN不能发送数据
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 7, 距离下一级还需 43 积分
求助各位高手,STM32F107RC的CAN不能发送数据,我用的振晶是8M的,CAN1发送是第A端口11脚,接收是A端口12脚,现在我没有发现错误,就是不能发送回来,求求各看看是什么原因,
&&******************************************************************************
&&* @file& & CAN/DualCAN/main.c
&&* @author&&MCD Application Team
&&* @version V3.5.0
&&* @date& & 08-April-2011
&&* @brief& &Main program body
&&******************************************************************************
&&* @attention
&&* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
&&* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO S***E
&&* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
&&* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
&&* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
&&* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
&&* (C) COPYRIGHT 2011 STMicroelectronics
&&******************************************************************************
/* Includes ------------------------------------------------------------------*/
#include&sys_cfg.h&
#include &stm32f10x.h&
//nclude &platform_config.h&
#define Key_Pressed& &0x01
#define Key_NoPressed 0x00
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
CAN_InitTypeDef& && &&&CAN_InitS
CAN_FilterInitTypeDef&&CAN_FilterInitS
RCC_ClocksTypeDef&&RCC_C
CanTxMsg TxM
uint8_t Key_Pressed_Number = 0x0;
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);&&
void CAN_Config(void);
void LED_Display(uint8_t Ledstatus);
void Init_RxMes(CanRxMsg *RxMessage);
void Delay(void);
/* Private functions ---------------------------------------------------------*/
&&* @brief&&Main program.
&&* @param&&None
&&* @retval None
int main(void)
&&/* Setup STM32 system (clock, PLL and Flash configuration) */
&&SystemInit();
&&/* System clocks configuration ---------------------------------------------*/
&&RCC_Configuration();
&&/* GPIO configuration ------------------------------------------------------*/
&&GPIO_Configuration();
&&/* NVIC configuration ------------------------------------------------------*/
&&NVIC_Configuration();
&&RCC_GetClocksFreq(&RCC_Clocks);
&&/* CAN configuration */
&&CAN_Config();
&&CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
&&/* Infinite loop */
&&while(1)
& && &&&TxMessage.Data[0] =0;
& && &&&CAN_Transmit(CAN1, &TxMessage);
&&* @brief&&Configures the different system clocks.
&&* @param&&None
&&* @retval None
void RCC_Configuration(void)
&&/* GPIO clock enable */
&&//RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB, ENABLE);
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO |RCC_APB1Periph_CAN1, ENABLE);
&&RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1 | RCC_APB1Periph_CAN2, ENABLE);&&
&&/* CAN1 Periph clock enable */
&&GPIO_PinRemapConfig(GPIO_Remap2_CAN1 , ENABLE);
&&GPIO_PinRemapConfig(GPIO_Remap_CAN2, ENABLE);
&&* @brief&&Configures the GPIO.
&&* @param&&None
&&* @retval None
void GPIO_Configuration(void)
&&GPIO_InitTypeDef&&GPIO_InitS
&&/* Configure CAN pin: RX */
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
&&GPIO_Init(GPIOA, &GPIO_InitStructure);
&&/* Configure CAN pin: RX */
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
&&GPIO_Init(GPIOB, &GPIO_InitStructure);
&&/* Configure CAN pin: TX */
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&GPIO_Init(GPIOA, &GPIO_InitStructure);
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
&&//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
&&GPIO_Init(GPIOB, &GPIO_InitStructure);
&&GPIO_PinRemapConfig(GPIO_Remap2_CAN1 , ENABLE);
&&* @brief&&Configures the NVIC for CAN.
&&* @param&&None
&&* @retval None
void NVIC_Configuration(void)
&&NVIC_InitTypeDef&&NVIC_InitS
&&NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
&&NVIC_InitStructure.NVIC_IRQChannel =CAN1_RX0_IRQn;&&//中断函数
&&NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
&&NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
&&NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
&&NVIC_Init(&NVIC_InitStructure);
&&NVIC_InitStructure.NVIC_IRQChannel =CAN2_RX0_IRQn;&&//发送中断函数
&&NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
&&NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
// NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
&&NVIC_Init(&NVIC_InitStructure);
&&* @brief&&Configures the CAN.
&&* @param&&None
&&* @retval None
void CAN_Config(void)
&&/* CAN register init */
&&CAN_DeInit(CAN1);
&&CAN_StructInit(&CAN_InitStructure);
&&/* CAN cell init */
&&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_N
&&//CAN_InitStructure.CAN_Mode = CAN_Mode_LoopB
&&CAN_InitStructure.CAN_SJW = CAN_SJW_1
&&CAN_InitStructure.CAN_BS1 = CAN_BS1_3
&&CAN_InitStructure.CAN_BS2 = CAN_BS2_5
&&CAN_InitStructure.CAN_Prescaler = 4;//2
&&CAN_Init(CAN1, &CAN_InitStructure);
/* CAN filter init */
&&CAN_FilterInitStructure.CAN_FilterNumber=14;
&&CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdM
&&CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32
&&CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
&&CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
&&CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
&&CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
&&CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;
&&CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
&&CAN_FilterInit(&CAN_FilterInitStructure);
& &/* transmit */
&&TxMessage.StdId = 0x321;
&&TxMessage.ExtId = 0x01;
&&TxMessage.RTR = CAN_RTR_DATA;
&&TxMessage.IDE = CAN_ID_STD;
&&TxMessage.DLC = 1;
&&* @brief&&Delay
&&* @param&&None
&&* @retval None
void Delay()
&&uint16_t nTime = 0x0000;
& & for(nTime =0; nTime StdId = 0x00;
&&RxMessage-&ExtId = 0x00;
&&RxMessage-&IDE = CAN_ID_STD;
&&RxMessage-&DLC = 0;
&&RxMessage-&FMI = 0;
&&for (i = 0;i & 8;i++)
& & RxMessage-&Data = 0x00;
#ifdef&&USE_FULL_ASSERT
&&* @brief&&Reports the name of the source file and the source line number
&&*& &where the assert_param error has occurred.
&&* @param&&file: pointer to the source file name
&&* @param&&line: assert_param error line source number
&&* @retval None
void assert_failed(uint8_t* file, uint32_t line)
&&/* User can add his own implementation to report the file name and line number,
& &&&ex: printf(&Wrong parameters value: file %s on line %d\r\n&, file, line) */
&&/* Infinite loop */
&&while (1)
/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
            
      
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 7, 距离下一级还需 43 积分
回复:求助各位高手,STM32F107RC的CAN不能发送数据
现在我没有发现错误,就是不能发送数据,求求各看看是什么原因,
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 7, 距离下一级还需 43 积分
回复:求助各位高手,STM32F107RC的CAN不能发送数据
各位看看是什么原因啊,每次都是这些问题,真不知道怎样查啊,
            
      
在线时间2 小时
该用户从未签到主题帖子精华
中级会员, 积分 445, 距离下一级还需 55 积分
RE:求助各位高手,STM32F107RC的CAN不能发送数据
请检查频率设置的是否匹配。
CAN_InitStructure.CAN_SJW = CAN_SJW_1
CAN_InitStructure.CAN_BS1 = CAN_BS1_3
CAN_InitStructure.CAN_BS2 = CAN_BS2_5
CAN_InitStructure.CAN_Prescaler = 4;//2
CAN_Init(CAN1, &CAN_InitStructure);
在线时间0 小时
该用户从未签到主题帖子精华
新手上路, 积分 923, 距离下一级还需 -873 积分
RE:求助各位高手,STM32F107RC的CAN不能发送数据
那肯定是配置的问题。
            
      
站长推荐 /3
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by求助高手关于用GPIB控制Agilent34401A的例子 - LabVIEW论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
求助高手关于用GPIB控制Agilent34401A的例子
各位大侠,小弟初学labview,想用labview通过GPIB控制agilent34401a(测电压值)什么时候测什么时候收集数据,只是现在还不是特别清楚visa ,I/O assistant, driver之间的关系,求各位大侠给个实例程序,小弟感激不尽。
22:18:38
该类别下有 95 个回答。
该类别下有 61 个回答。
该类别下有 54 个回答,其中被选为最佳*** 1 次。
该类别下有 47 个回答。
该类别下有 46 个回答。
该类别下有 43 个回答。
该类别下有 40 个回答。
该类别下有 30 个回答。
该类别下有 30 个回答。
该类别下有 30 个回答。
该类别下有 29 个回答。
该类别下有 29 个回答。
该类别下有 27 个回答。
该类别下有 26 个回答,其中被选为最佳*** 1 次。
该类别下有 26 个回答。
该类别下有 26 个回答。
该类别下有 25 个回答。
该类别下有 25 个回答。
该类别下有 25 个回答。
该类别下有 25 个回答。
你直接发控制指令就可以了,MEAS:VOLT? 就可以读到电压了
直接用34401的驱动就可以啊!
我也需要,谢谢哪位仁兄指教
我也想知道,楼主知道***了吗
我也在找例程,求啊
楼主找到了吗?同求一份啊
试试 GPIB write 和 GPIB read&&这两个模块。参考范例中的那样作法。“一个简单的GPIB”程序,版本是 LabVIEW 2013.
如13楼,先用GPIB write 模块写一个命令,再用GPIB read 模块读出返回值。
命令可参考34401手册中的SPIC 中MEASure系列的命令。
列出个别如下:
MEASure:VOLTage:DC?
MEASure:VOLTage:AC?
MEASure:CURRent:DC?
MEAsure : RESistance ?
...............
(注:小写字母可缩略)
初学,不一定完全正确。
(11.38 KB, 下载次数: 39)
Agilent设备多半都有Labview驱动的 你下下来里面包含例子的
Agilent设备多半都有Labview驱动的 你下下来里面包含例子的
能给个联系方式?QQ
直接用34401的驱动就可以啊!
给个联系方式好吗?QQ
楼主是用GPIB还是RS232通信的?
好好学习,天天向上。。。。
谢谢各位大侠的帮助,通过学习已经搞定了。好好学习,天天向上。
你正在撰写***
如果你是对***或其他***精选点评或询问,请使用“评论”功能。
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司查看: 703|回复: 3
wecn0.91硬盘版各种打不开,求助高手帮忙!
游戏也打不开,Settings也打不开,崩溃了!
QQ截图15.jpg (229.1 KB, 下载次数: 2)
22:55 上传
QQ截图27.jpg (245.89 KB, 下载次数: 2)
22:55 上传
人品OK吗。
游戏目录里第一个文件夹的3个插件装一下