⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是周立功LPC2200开发板的实验程序
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:			LinEnqiang
** Modified date:		2006-12-1
** Version:				
** Descriptions:		Test
**
********************************************************************************************************/
#include "config.h"
#include "LPC23xx.h"
#include"LPC2300CAN.h"
/*********************************************************************************************************
** 函数类型:	主函数
** 调用模块:	void CAN_Init( Ch,  Baud) CAN初始化函数
				unsigned char writedetail( LEN, FF,  ID, *data)发送CAN 报文的报文信息,其参数分别为:帧长度、FF、ID、数据
				unsigned char CANSend( Ch,  BUFNum) 参数分别为:( CAN通道号、选择缓冲区(1、2、3)) 
				unsigned char CANRCVANDSEND( Ch,  BUFNum)参数分别为:( CAN通道号、选择缓冲区(1、2、3))
				
** 注意   :    使用CAN1 通道时 注意硬件是否连接,且是否已经被初始化                       
********************************************************************************************************/

int main (void)
{	
	unsigned int regaddr,mes;
	unsigned char data11[]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88};
	
	CAN_Init(0,0x140002);						//初始化CAN0 通道
	CAN_Init(1,0x140002);						//初始化CAN1 通道

	while(!writedetail(8,1, 0x08888888,data11)) //写报文信息
	{
		;
	}
		
	CANSend(0, 2);					 			//选择CAN1 通道,发送缓冲区2进行发送 
	CANSend(1, 2);	
		
	while(1)	
	{
		if(CAN1GSR&0x01)						//查询全局状态位,CAN1 接收到信息 
		{
			CANRCVANDSEND(0,3);					//将接收到的信息发送出去。选择CAN1 通道,发送缓冲区3进行发送 
			while(CAN1GSR&0x01)					// RBS为1 接收缓冲区满
			{
				mes=CAN1CMR;
				mes |= (1<<2);					//释放接收缓冲区
				CAN1CMR=mes;
			}
			CAN1CMR &= ~(1<<2);
		}
		if(CAN2GSR&0x01)						//CAN2 接收到信息 
		{
			CANRCVANDSEND(1,1);	
			
			while(CAN1GSR&0x01)					
			{
				mes=CAN1CMR;
				mes |= (1<<2);					
				CAN1CMR=mes;
			}
			CAN1CMR &= ~(1<<2);
				
		}
		
	}

  
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -