亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? can_fifo.c

?? CAN_FIFO收發(fā)例程
?? C
字號:
//*****************************************************************************
//
// can_fifo.c - CAN設(shè)備在CAN的FIFO模式下進行數(shù)據(jù)收發(fā)
//				本例程將若干報文對象配置為發(fā)送FIFO,在EK-LM3S8962板上演示
//				在啟動該程序前復位2110板
// 
// This is part of revision 6852 of the EK-LM3S8962 Firmware Package.
//
//*****************************************************************************

#include "hw_ints.h"
#include "hw_memmap.h"
#include "hw_sysctl.h"
#include "hw_can.h"
#include "hw_types.h"
#include "can.h"
#include "gpio.h"
#include "interrupt.h"
#include "sysctl.h"
#include "systick.h"
//#include "drivers/rit128x96x4.h"

// 為CAN控制器配置的FIFO的大小
#define CAN_FIFO_SIZE           (8 * 8)		

// 發(fā)送字節(jié)數(shù)
unsigned long ulBytesTransmitted;			

tCANMsgObject MsgObjectTx;

//定義緩沖區(qū)
unsigned char pucBufferTx[CAN_FIFO_SIZE];

//*****************************************************************************
//
// CAN控制器的中斷處理
//
//*****************************************************************************
void
CANIntHandler(void)
{
    unsigned long ulStatus;

	//讀取你中斷原因
    ulStatus = CANIntStatus(CAN0_BASE, CAN_INT_STS_CAUSE);


    if(ulStatus <= 8)
    { 	       
		 //字節(jié)發(fā)送數(shù)自加 8
        ulBytesTransmitted += 8;     

    }
    else
    {
		//清除狀態(tài)中斷
        CANStatusGet(CAN0_BASE, CAN_STS_CONTROL);	 

    }

    //
    // Acknowledge the CAN controller interrupt has been handled.
    //
    CANIntClear(CAN0_BASE, ulStatus);	 //清除中斷
}

//*****************************************************************************
//
// 該函數(shù)配置了發(fā)送FIFO并將數(shù)據(jù)拷貝到FIFO中
//
//*****************************************************************************
int
CANTransmitFIFO(unsigned char *pucData, unsigned long ulSize)
{
    int iIdx;

	//配置發(fā)送報文對象
    MsgObjectTx.ulMsgID = 8;
    MsgObjectTx.ulMsgIDMask = 0;
    MsgObjectTx.ulFlags = MSG_OBJ_TX_INT_ENABLE;

    // 將8個報文對象構(gòu)成一個發(fā)送FIFO
    for(iIdx = 0; iIdx < 8; iIdx++)
    {

        //如果還有多于8字節(jié)的數(shù)據(jù)待發(fā)送,則用滿報文形式發(fā)送8字節(jié)
        if(ulSize > 8)
        {

            MsgObjectTx.ulMsgLen = 8;
            MsgObjectTx.pucMsgData = &pucData[iIdx * 8];

            // 設(shè)置標志 MSG_OBJ_FIFO 來表明這個報文對象為FIFO結(jié)構(gòu)中的一部分,且不是FIFO的最后一個報文對象
            MsgObjectTx.ulFlags |= MSG_OBJ_FIFO;	 

        	//將待發(fā)送字節(jié)數(shù)變量減8
            ulSize -= 8;  


            //啟動報文對象發(fā)送
            CANMessageSet(CAN0_BASE, iIdx + 1, &MsgObjectTx, MSG_OBJ_TYPE_TX);
        }

        // 如果還是有少于8字節(jié)待發(fā)送數(shù)據(jù),則發(fā)送剩余數(shù)據(jù),  
        // 且清除標志 MSG_OBJ_FIFO 以表明這是最后一個在FIFO中的報文對象
        else
        {
            MsgObjectTx.ulMsgLen = ulSize;
            MsgObjectTx.pucMsgData = &pucData[iIdx * 8];

            CANMessageSet(CAN0_BASE, iIdx + 1, &MsgObjectTx, MSG_OBJ_TYPE_TX);
        }
    }
    return(0);
}

//*****************************************************************************
//
// 主程序
//
//*****************************************************************************
int
main(void)
{
    int iIdx;

	//
    // LDO的輸出電壓必須在啟用PLL之前設(shè)置為2.75V
    if(REVISION_IS_A2)
    {
        SysCtlLDOSet(SYSCTL_LDO_2_75V);
    }

	//時鐘配置	  為50MHz
    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);


	//CAN0端口配置
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
    GPIOPinTypeCAN(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1);

	//配置LED所在I/O口
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0);

	//關(guān)閉LED
    GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 0);

	//使能CAN控制器
    SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);

	//復位后初始化CAN控制器
    CANInit(CAN0_BASE);

	//CAN的操作速率配置,配置為250k
    CANBitRateSet(CAN0_BASE, 8000000, 250000);

	//CAN0使能
    CANEnable(CAN0_BASE);


	//使能CAN 相關(guān)中斷
    CANIntEnable(CAN0_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);

    IntEnable(INT_CAN0);

    IntMasterEnable();

	//初始化數(shù)據(jù)緩沖區(qū)
    for(iIdx = 0; iIdx < CAN_FIFO_SIZE; iIdx++)
    {
        pucBufferTx[iIdx] = iIdx + 0x1;
    }

	//為已發(fā)送字節(jié)數(shù)變量賦初值
	ulBytesTransmitted = 0;

	//配置發(fā)送FIFO,并啟動發(fā)送
	CANTransmitFIFO(pucBufferTx, CAN_FIFO_SIZE);

    //
    // Loop forever.
    //
    while(1)
    {
			
			//等待所有的數(shù)據(jù)發(fā)送完畢	                              
			if(ulBytesTransmitted == CAN_FIFO_SIZE)
			{
							
				//復位該變量    
				ulBytesTransmitted = 0; 
				 
				//LED指示
				GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 1);	  // 這里需要注意的是:在啟動報文發(fā)送前,
																  // 接收FIFO已經(jīng)將前次數(shù)據(jù)接收完畢,因此
				SysCtlDelay(16000000 / 3);						  // 這里的延時時間必須大于接收FIFO的(16000000/6)

				GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 0);

				SysCtlDelay(16000000 / 3);

               	
				//更改緩沖區(qū)中的數(shù)據(jù)
				for(iIdx = 0; iIdx < CAN_FIFO_SIZE; iIdx++)
                {

                    pucBufferTx[iIdx] += 0xB;

                }

				//配置發(fā)送FIFO,并啟動發(fā)送
				CANTransmitFIFO(pucBufferTx, CAN_FIFO_SIZE);
			 }				         
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久色中文字幕| 国产乱人伦精品一区二区在线观看 | 麻豆精品一区二区综合av| 性感美女久久精品| 亚洲一区二区在线观看视频| 一区二区三区电影在线播| 亚洲四区在线观看| 一卡二卡欧美日韩| 亚洲成人三级小说| 麻豆91精品91久久久的内涵| 美国十次了思思久久精品导航| 日韩精品91亚洲二区在线观看| 日本欧美肥老太交大片| 久久99精品久久久久久动态图| 韩国女主播一区二区三区| 国产成都精品91一区二区三| 成人晚上爱看视频| 一本到不卡精品视频在线观看| 欧美午夜宅男影院| 91精品国产综合久久精品麻豆| 欧美精品一区二区三区在线| 亚洲国产精品精华液ab| 亚洲精品视频在线看| 亚洲成人动漫在线观看| 久久99精品国产| eeuss鲁一区二区三区| 欧美无砖专区一中文字| 欧美一级在线观看| 国产精品传媒视频| 日日夜夜精品视频免费| 激情综合色播激情啊| 色哟哟国产精品| 精品日韩一区二区三区免费视频| 国产精品免费丝袜| 美女网站色91| 91蜜桃婷婷狠狠久久综合9色| 777久久久精品| 中文字幕中文字幕一区| 日本不卡一区二区| 99精品久久99久久久久| 精品国产一区二区三区四区四| 亚洲自拍偷拍麻豆| 国产一区日韩二区欧美三区| 欧美日韩国产小视频| 中文字幕亚洲一区二区av在线| 麻豆国产精品一区二区三区 | 欧美日韩激情一区二区三区| 国产性做久久久久久| 亚洲成人免费视频| 99久久免费视频.com| 精品福利一区二区三区免费视频| 一区二区三区日韩欧美| 国产不卡在线播放| 日韩欧美一二三| 亚洲成在人线在线播放| 99视频一区二区| 国产日韩精品久久久| 日韩av电影天堂| 欧美日韩成人在线一区| 亚洲视频一二三| 成人h动漫精品| 精品蜜桃在线看| 婷婷六月综合亚洲| 欧美日韩在线直播| 亚洲精品国产视频| 99国产欧美另类久久久精品| 精品奇米国产一区二区三区| 五月综合激情日本mⅴ| 91高清视频免费看| 亚洲免费高清视频在线| 99久久伊人网影院| 亚洲欧美日韩久久精品| 92精品国产成人观看免费| 国产精品久久午夜夜伦鲁鲁| 国产一区福利在线| 久久午夜羞羞影院免费观看| 蜜臀av性久久久久av蜜臀妖精| 91精品视频网| 免费黄网站欧美| 日韩欧美中文一区| 精品一区二区三区免费毛片爱| 91精品国产免费久久综合| 日本欧美一区二区| 久久久.com| 91视频免费看| 性久久久久久久| 精品电影一区二区三区| 国产黄人亚洲片| 亚洲免费观看高清完整版在线观看 | 久久成人羞羞网站| 99久久er热在这里只有精品15| 国产精品乱人伦| 91福利在线导航| 日本sm残虐另类| 国产日韩成人精品| 色综合网色综合| 五月婷婷激情综合| 欧美伊人久久久久久久久影院 | 久久伊99综合婷婷久久伊| 成人一区二区三区视频| 亚洲精品v日韩精品| 在线成人免费观看| 激情六月婷婷综合| 亚洲免费三区一区二区| 日韩一区二区麻豆国产| 成人免费看黄yyy456| 亚洲h动漫在线| 国产三级精品三级在线专区| 99riav一区二区三区| 亚洲成人动漫精品| 中文字幕av一区二区三区高| 欧美性色黄大片| 激情图区综合网| 亚洲小说春色综合另类电影| 久久天堂av综合合色蜜桃网| 欧美视频精品在线| 成人午夜激情在线| 久久av资源网| 亚洲一区二区欧美日韩| 中文字幕精品一区二区精品绿巨人| 欧美日韩另类国产亚洲欧美一级| 国产盗摄一区二区三区| 亚洲综合999| 国产欧美日韩综合精品一区二区| 欧美日韩一区二区三区四区| 国产99久久久精品| 韩国精品一区二区| 日韩激情中文字幕| 亚洲主播在线观看| 亚洲美女精品一区| 亚洲欧洲无码一区二区三区| 精品福利av导航| 日韩精品一区二区三区蜜臀| 欧美日韩精品一区二区| www.av精品| 成人性生交大合| 国产激情视频一区二区三区欧美| 蜜臀av在线播放一区二区三区| 亚洲丶国产丶欧美一区二区三区| 欧美国产乱子伦| 日本一区二区三区国色天香 | 国产高清久久久久| 激情深爱一区二区| 久久国内精品视频| 久久精品国产秦先生| 日韩国产精品91| 日本成人在线不卡视频| 日韩精品高清不卡| 婷婷国产在线综合| 青青青伊人色综合久久| 免费在线观看一区| 久久电影网站中文字幕| 国产在线国偷精品免费看| 久久福利资源站| 国产成人精品三级麻豆| 国产 日韩 欧美大片| 不卡视频免费播放| 波多野结衣中文字幕一区| 成人精品一区二区三区四区| 99视频精品在线| 欧美亚洲综合久久| 91麻豆精品国产自产在线| 日韩免费观看2025年上映的电影| 日韩视频免费观看高清完整版| 日韩欧美视频一区| 久久欧美中文字幕| 国产欧美一区二区三区网站 | 久久久777精品电影网影网| 欧美激情资源网| 亚洲天堂久久久久久久| 午夜精品久久久久久久久| 日韩电影在线免费观看| 国产在线精品免费| 91在线无精精品入口| 欧美日韩专区在线| 久久在线观看免费| 亚洲视频在线观看三级| 日本在线观看不卡视频| 国内成人自拍视频| 在线一区二区视频| 欧美成人女星排名| 亚洲色图在线播放| 蜜臀av国产精品久久久久| 不卡一区二区三区四区| 欧美体内she精视频| 久久精品一二三| 夜夜嗨av一区二区三区中文字幕 | 国产99久久久精品| 欧美日产国产精品| 亚洲国产精品成人综合| 偷拍与自拍一区| 成人美女视频在线看| 制服.丝袜.亚洲.另类.中文| 国产日产欧美一区二区视频| 亚洲第一主播视频| 99久久久久久| 久久久不卡网国产精品二区| 亚洲成人动漫在线观看| 成人福利视频在线| 日韩精品一区二区三区swag|