资源简介

stm32 三菱plc fx3n方案,原理图,源代码都有,可自己扩展功能,低价出售,欢迎购买。 1、支持三菱PLC软件GX Developer、GX Works2编程; 2、支持模拟量n路AD和2路DA; 3、支持掉电保存功能; 4、支持在线监控写入功能; 5、支持RTC时钟 万年历; 6、支持2路485 Modbus RTU 主从机模式等。

资源截图

代码片段和文件信息

/*
*********************************************************************************************************
*                                   
* 模块名称 : CAN网络通信程序
* 文件名称 : can_network.c
* 版    本 : V1.0.1
* 说    明 : 实现多个CAN节点(节点的程序相同)之间的通信。

*
*********************************************************************************************************
*/

/*
一、应用层协议:(自定义简单协议)

       命令: 功能码(1字节)+ 【起始地址(2字节)】+ 【字节数(1字节)】+ [数据](N字节)+ 校验(2字节)
 功能码   0x03 读  (地址0xFFFF,CAN从机个数、共享寄存器个数)
  0x10 写
*/

#include 
#include “stm32f10x_can.h“
#include “can_network.h“
#include “PLC_Dialogue.h“
#include “bsp_user_lib.h“

#if CAN_FUNC

/* 定义全局变量 */
CanTxMsg g_tCanTxMsg; /* 用于发送 */
CanRxMsg g_tCanRxMsg; /* 用于接收 */
uint8_t g_ucLedNo = 0; /* 点亮的LED灯序号,0-3 */


// can应用
sCanComm canComm;



/* 仅允许本文件内调用的函数声明 */
static void can_NVIC_Config(void);

/**********************************************************************************************************
* 函 数 名: can_Init
* 功能说明: 配置CAN硬件
* 形    参:无
* 返 回 值: 无

**********************************************************************************************************/
void can_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;

/* PB8,PB9口线设置为AFIO模式 切换到CAN功能 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO ENABLE);

/* 使能GPIO时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);

/* 配置CAN信号接收引脚: RX */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /* GPIO配置为上拉输入模式 */
GPIO_Init(GPIOB &GPIO_InitStructure);

/* 配置CAN信号发送引脚: TX */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /* 配置为复用推挽输出 */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* 设置GPIO最大速度 */
GPIO_Init(GPIOB &GPIO_InitStructure);

/* 原生的CAN引脚和USB引脚是相同的口线,安富莱开发板使用引脚的重映射功能将CAN引脚切换到PB8,PB9 */
GPIO_PinRemapConfig(GPIO_Remap1_CAN1  ENABLE); /* 使能CAN1的重映射 */

/* 使能CAN外设时钟 */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1 ENABLE);

CAN_DeInit(CAN1); /* 复位CAN寄存器 */
CAN_StructInit(&CAN_InitStructure); /* 填充CAN参数结构体成员为缺省值 */

/*
TTCM = time triggered communication mode
ABOM = automatic bus-off management 
AWUM = automatic wake-up mode
NART = no automatic retransmission
RFLM = receive FIFO locked mode 
TXFP = transmit FIFO priority
*/
CAN_InitStructure.CAN_TTCM = DISABLE; /* 禁止时间触发模式(不生成时间戳) T  */
CAN_InitStructure.CAN_ABOM = DISABLE; /* 禁止自动总线关闭管理 */
CAN_InitStructure.CAN_AWUM = DISABLE; /* 禁止自动唤醒模式 */
CAN_InitStructure.CAN_NART = DISABLE; /* 禁止仲裁丢失或出错后的自动重传功能 */
CAN_InitStructure.CAN_RFLM = DISABLE; /* 禁止接收FIFO加锁模式 */
CAN_InitStructure.CAN_TXFP = DISABLE; /* 禁止传输FIFO优先级 */
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; /* 设置CAN为正常工作模式 */

/* 
CAN 波特率 = RCC_APB1Periph_CAN / Prescaler / (SJW + BS1 + B

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-19 08:28  FX3U_V8.0\CAN\
     文件       26110  2019-07-15 21:08  FX3U_V8.0\CAN\can_network.c
     文件        4646  2019-07-15 21:08  FX3U_V8.0\CAN\can_network.h
     目录           0  2019-07-19 08:28  FX3U_V8.0\CMSIS\
     文件       17273  2016-10-03 19:39  FX3U_V8.0\CMSIS\core_cm3.c
     文件       85714  2016-09-30 13:37  FX3U_V8.0\CMSIS\core_cm3.h
     文件       15766  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_cl.s
     文件       15503  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_hd.s
     文件       15692  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_hd_vl.s
     文件       12376  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_ld.s
     文件       13656  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_ld_vl.s
     文件       12765  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_md.s
     文件       14073  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_md_vl.s
     文件       15955  2016-09-30 13:37  FX3U_V8.0\CMSIS\startup_stm32f10x_xl.s
     文件      633941  2016-09-30 13:37  FX3U_V8.0\CMSIS\stm32f10x.h
     文件       36557  2016-09-30 13:37  FX3U_V8.0\CMSIS\system_stm32f10x.c
     文件        2085  2016-09-30 13:37  FX3U_V8.0\CMSIS\system_stm32f10x.h
     目录           0  2019-07-19 08:28  FX3U_V8.0\Libraries\
     目录           0  2019-07-19 08:28  FX3U_V8.0\Libraries\inc\
     文件        8982  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\misc.h
     文件       21690  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_adc.h
     文件        7555  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_bkp.h
     文件       27559  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_can.h
     文件        6573  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_cec.h
     文件        2162  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_crc.h
     文件       15233  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_dac.h
     文件        3818  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_dbgmcu.h
     文件       20754  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_dma.h
     文件        6824  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_exti.h
     文件       25445  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_flash.h
     文件       27016  2016-09-30 13:37  FX3U_V8.0\Libraries\inc\stm32f10x_fsmc.h
............此处省略514个文件信息

评论

共有 条评论