目录
CANopenNode基础代码移植
使用cubemx新建工程,设置RCC,设置SYS。激活CAN,配置CAN的波特率500k(这个波特率需要和电机驱动器的波特率对应,并不一定是500k)。

配置定时器6,时间为1ms,根据公式计算得到参数PSC取72-1,ARR取1000-1

配置板子上的两个LED

配置串口,方便调试

把CANopenNode的代码复制到项目文件夹中,注意一共两个文件,代码链接

在keil里添加文件

设置头文件路径,在设置CANopenNode的时候只需要添加下面一个头文件路径就行

![]()
CANopenNode_STM32项目的代码就添加到这一级

![]()
main函数,记得引入头文件
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "CO_app_STM32.h"
/* USER CODE END Includes */
/* USER CODE BEGIN PV */
CANopenNodeSTM32 canOpenNode;
/* USER CODE END PV */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_CAN_Init();
MX_TIM6_Init();
MX_USART1_UART_Init();
/* USER CODE BEGIN 2 */
canOpenNode.CANHandle = &hcan;
canOpenNode.HWInitFunction = MX_CAN_Init;
canOpenNode.timerHandle = &htim6;
canOpenNode.desiredNodeID = 1;
canOpenNode.baudrate = 500;
canopen_app_init(&canOpenN
4688





被折叠的 条评论
为什么被折叠?



