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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? can_2110_fifo.c

?? CAN_FIFO收發例程
?? C
字號:
//*****************************************************************************
//
// can_device_fifo.c - CAN設備在FIFO的模式下進行數據收發
//                     本例程將若干報文對象配置成接收FIFO,已在EK-LM3S2110板上演示
//					   先復位2110板,再啟動發送設備(8962板)
//
// 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 "debug.h"
#include "gpio.h"
#include "interrupt.h"
#include "sysctl.h"
#include "systick.h"


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


tCANMsgObject MsgObjectRx;

//定義一接收緩沖區
unsigned char pucBuffer[CAN_FIFO_SIZE];

//定義接收字節數變量
unsigned long ulBytesRemaining;

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

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

   
    if((ulStatus >= 1) && (ulStatus <= 8))
    {

        //讀取報文,并清除中斷
        CANMessageGet(CAN0_BASE, ulStatus, &MsgObjectRx, 1);

        //增大讀取指針
        MsgObjectRx.pucMsgData += 8;

        //將待接收字節數自減8
        ulBytesRemaining -= 8;
    }
    else if(ulStatus == CAN_INT_INTID_STATUS)
    {
        
		//清除狀態中斷
        CANStatusGet(CAN0_BASE, CAN_STS_CONTROL);
    }

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

//*****************************************************************************
//
// 該函數配置接收FIFO, 且該函數只會被調用一次
//
//*****************************************************************************
int
CANReceiveFIFO(unsigned char *pucData, unsigned long ulSize)
{
    int iIdx;


    // 配置接收報文FIFO,標識符 8,報文濾波 無,使能接收中斷
    MsgObjectRx.ulMsgID = 8;
    MsgObjectRx.ulMsgIDMask = 0;
    MsgObjectRx.ulFlags = MSG_OBJ_RX_INT_ENABLE;
    MsgObjectRx.pucMsgData = pucData;

    // 將1~8號報文對象構成一個接受FIFO
    for(iIdx=0; iIdx < (CAN_FIFO_SIZE / 8); iIdx++)
    {
		
		//若待接收字節數超過8,則將一次接收字節數設置為8
        if(ulSize > 8)
        {
			
            MsgObjectRx.ulMsgLen = 8;

 
            //待接收字節數自減8
            ulSize -=8;

            //設置標志 MSG_OBJ_FIFO 來表明這個報文對象為FIFO結構中的一部分,且不是FIFO的最后一個報文對象
            MsgObjectRx.ulFlags |= MSG_OBJ_FIFO;

			//啟動報文接收
            CANMessageSet(CAN0_BASE, iIdx + 1, &MsgObjectRx, MSG_OBJ_TYPE_RX);

        }
        else
        {

            // Get the remaining bytes.
            MsgObjectRx.ulMsgLen = ulSize;

            // 這里不設置標志 MSG_OBJ_FIFO,表明這是最后一個在FIFO中的報文對象
            CANMessageSet(CAN0_BASE, iIdx + 1, &MsgObjectRx, MSG_OBJ_TYPE_RX);
        }
    }
    return(0);
}

//*****************************************************************************
//
// 主程序
//
//*****************************************************************************
int
main(void)
{
    //
    // LDO的輸出電壓必須在啟用PLL之前設置為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_2);

	//關閉LED
    GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);

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

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

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

	//CAN0使能
    CANEnable(CAN0_BASE);
	
	//使能CAN 相關中斷
    CANIntEnable(CAN0_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);

    IntEnable(INT_CAN0);

    IntMasterEnable();

	//復位緩沖區指針
    MsgObjectRx.pucMsgData = pucBuffer;

	//將待接收的數據字節總數賦給該變量
    ulBytesRemaining = CAN_FIFO_SIZE;

	//配置接收FIFO,并啟動報文接收
    CANReceiveFIFO(pucBuffer, CAN_FIFO_SIZE);

    //
    // Loop forever.
    //
    while(1)
    {
               
			    //等待所用的數據接收完畢
                if(ulBytesRemaining == 0)
                {

                      // 復位緩沖區指針
                      MsgObjectRx.pucMsgData = pucBuffer;

                      //復位該變量
                      ulBytesRemaining = CAN_FIFO_SIZE;

					  //LED指示
					  GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0x04);	  //在這里需注意:這里啟動報文接收必須要在
																		  //8962板啟動報文發送之前,所以這里的延時
                      SysCtlDelay(16000000 / 6);						  //必須小于發送FIFO例程中的延時時間(16000000/3)

				      GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);

				      SysCtlDelay(16000000 / 6);
				 }          
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久综合婷婷 | 国产精品不卡一区二区三区| 国产亚洲综合色| 国产精品国产三级国产aⅴ无密码| 一区二区三区美女| 蜜桃视频免费观看一区| 成人免费黄色在线| 欧美日韩国产中文| 久久久国产精华| 一片黄亚洲嫩模| 黄色资源网久久资源365| 99久久国产综合精品麻豆| 欧美猛男男办公室激情| 国产欧美一区二区三区在线老狼| 亚洲精品欧美专区| 麻豆精品一区二区av白丝在线| 丁香六月综合激情| 欧美男生操女生| 中文字幕视频一区| 久久99九九99精品| 91美女片黄在线观看91美女| 日韩一级欧美一级| 亚洲视频一二三| 国产一区二区福利视频| 欧洲精品在线观看| 国产午夜精品久久久久久免费视 | 色综合一区二区| 精品日产卡一卡二卡麻豆| 亚洲人成在线播放网站岛国| 久久国内精品视频| 欧美日韩国产综合一区二区 | 成人黄色在线网站| 9191国产精品| 亚洲免费高清视频在线| 国产一区二区三区蝌蚪| 欧美夫妻性生活| 亚洲人精品一区| 国产91精品欧美| 日韩三级av在线播放| 亚洲激情自拍偷拍| 丰满少妇久久久久久久| 日韩精品中文字幕一区| 天天影视色香欲综合网老头| 99精品视频一区二区三区| 国产亚洲一区二区三区| 免费看欧美女人艹b| 欧美主播一区二区三区| 亚洲色图制服丝袜| 成人性生交大片免费看中文 | 粉嫩嫩av羞羞动漫久久久| 日韩欧美国产小视频| 亚洲成人三级小说| 色综合天天做天天爱| 国产精品系列在线| 国产成人aaa| 久久久国产精品午夜一区ai换脸 | 久久久久久久综合日本| 免费欧美在线视频| 91精品在线一区二区| 午夜天堂影视香蕉久久| 欧美日韩在线免费视频| 亚洲一区二区三区三| 色综合久久久久久久久久久| **性色生活片久久毛片| 99久久精品国产麻豆演员表| 国产精品欧美综合在线| 成人妖精视频yjsp地址| 欧美激情中文不卡| 成人性色生活片免费看爆迷你毛片| 久久久精品日韩欧美| 国产成人精品三级| 中文在线资源观看网站视频免费不卡| 狠狠色综合播放一区二区| 精品国产乱码久久久久久图片| 美女视频黄a大片欧美| 91麻豆精品久久久久蜜臀| 天天综合色天天综合| 91麻豆精品91久久久久同性| 日本欧美肥老太交大片| 日韩欧美的一区二区| 久久99精品国产| 久久久一区二区三区捆绑**| 粉嫩aⅴ一区二区三区四区| 国产情人综合久久777777| 成人免费毛片a| 亚洲美女淫视频| 精品视频在线免费| 麻豆国产欧美一区二区三区| 久久亚洲二区三区| 高清日韩电视剧大全免费| 亚洲欧美一区二区视频| 欧美性大战久久久| 蜜臀av国产精品久久久久| 久久久久久久综合日本| 99re免费视频精品全部| 亚洲va天堂va国产va久| 日韩欧美在线123| 国产一区二区三区在线看麻豆| 日本一区二区视频在线| 一本到不卡免费一区二区| 天堂资源在线中文精品| 久久嫩草精品久久久精品| 成人在线综合网| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩国产电影| 国产精品资源网| 亚洲男人的天堂网| 91精品国产综合久久福利| 国产精品2024| 一区二区三区欧美日| 日韩欧美二区三区| 99久久99久久免费精品蜜臀| 亚洲国产成人porn| 久久欧美中文字幕| 91福利在线看| 久久精品国产亚洲aⅴ| 国产精品久久综合| 91精品国产综合久久福利| 高清不卡一二三区| 午夜欧美电影在线观看| 国产午夜一区二区三区| 欧美日韩一卡二卡| 国产成人啪午夜精品网站男同| 亚洲综合激情另类小说区| 欧美xxxxxxxx| 欧美三级视频在线| 丁香婷婷综合网| 日韩专区中文字幕一区二区| 欧美国产乱子伦| 欧美一激情一区二区三区| 成人av资源下载| 秋霞午夜鲁丝一区二区老狼| 国产精品成人免费| 精品动漫一区二区三区在线观看| 91丝袜美女网| 国产高清精品在线| 日韩电影免费一区| 亚洲欧美另类在线| 久久午夜国产精品| 欧美乱熟臀69xxxxxx| 成人一级黄色片| 久久99九九99精品| 五月天久久比比资源色| 日韩美女视频19| 久久免费电影网| 91精品国产高清一区二区三区| 色综合中文字幕| 高清视频一区二区| 韩国毛片一区二区三区| 视频一区二区中文字幕| 一区二区三区四区在线| 国产精品无人区| 亚洲精品一区在线观看| 91精品国产欧美一区二区18 | 五月天久久比比资源色| 亚洲女厕所小便bbb| 国产精品欧美久久久久无广告| 日韩精品一区二区三区四区视频| 在线免费观看不卡av| www.亚洲在线| 国产91精品久久久久久久网曝门| 国产在线视视频有精品| 美女国产一区二区| 亚洲一区二区中文在线| 《视频一区视频二区| 国产精品人妖ts系列视频| 精品av久久707| 欧美不卡在线视频| 欧美一二三四区在线| 91精品国产乱码久久蜜臀| 欧美日韩一级视频| 欧美日韩免费在线视频| 欧美在线短视频| 色狠狠一区二区| 欧美午夜在线观看| 欧美日韩久久久一区| 精品视频999| 在线观看91av| 日韩一二三区视频| 欧美mv日韩mv国产| 精品日韩在线观看| 久久综合网色—综合色88| 久久久久久影视| 国产亚洲午夜高清国产拍精品| 久久在线免费观看| 国产日韩欧美高清| 国产精品久久99| 亚洲啪啪综合av一区二区三区| 亚洲精选在线视频| 亚洲国产精品嫩草影院| 天天做天天摸天天爽国产一区 | 91麻豆精品91久久久久同性| 69堂精品视频| 精品欧美乱码久久久久久| 欧美精品一区二区三区久久久| 2023国产一二三区日本精品2022| 国产免费观看久久| 亚洲精品美腿丝袜| 五月天中文字幕一区二区| 久久99热这里只有精品|