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

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

?? example_281xgpioloopback.c

?? 這是一個DSP開發的程序集,包含多個例子,對初學者很有幫助
?? C
?? 第 1 頁 / 共 2 頁
字號:
//###########################################################################
//
// FILE:  Example_281xGpio.c
//
// TITLE: DSP281x GPIO Loopback Test
//
//
//        This program requires the DSP281x V1.00 header files.  
//        As supplied, this project is configured for "boot to H0" operation. 
//
//        To work properly this test requires hardware configuration described
//        below.
//
//        In this test, 8 bits of a GPIO Port are configured as outputs
//        and 8 bits of the same port are configured as inputs. The pins 
//        configured as outputs need to be externally looped back to the
//        pins configured as inputs. The output data is read back on the 
//        input pins. These tests are repeated for various qualifier 
//        values and for GPIO ports A, B and F.
//
//        Similar tests could be written for GPIO ports D, E and G.

//        Tests for ports A, D and F are called by separate functions
//        An external loopback has to be established before a testcase for 
//        a given port is executed.

//        Refer to the .ebss space for global variables for test status 
//        If PASS_flag = 0xDOBE then all tests have passed.
//        If PASS_flag = 0xDEAD then some tests have failed.
//        Tests are self validating. If a test passes, Test_status array 
//        will have Test code 0x00xx. If this array has 0xDEAD, the test 
//        has failed.

// Test #1: 
// Configure Upper 8 bits of Port A as outputs and lower 8 bits as inputs
// Loop back bits [15:8] to bits [7:0]
// Input Qualifier = 0 (Don't set any input qualifier)
// Needs a delay between CLEAR/SET/TOGGLE instruction.
// This test is run 4 times.

// Test #2: 
// Configure Upper 8 bits of Port A as inputs and lower 8 bits as outputs
// Loop back bits [7:0] to bits [15:8]
// Input Qualifier = 0 (Don't set any input qualifier)
// Needs a delay between CLEAR/SET/TOGGLE instruction.
// This test is run 4 times.

// Test #3: 
// Configure Upper 8 bits of Port A as outputs and lower 8 bits as inputs
// Loop back bits [15:8] to bits [7:0]
// Input Qualifier, QUALVAL = 1 
// Needs a delay between CLEAR/SET/TOGGLE instruction.
// For a pass, the delay must be >= ( 6 * 2 * QUALVAL ) CPUCLK cycles
// i.e the delay must be >= 12 CPUCLK cycles
// This test is run 4 times.

// Test #4: 
// Configure Upper 8 bits of Port B as outputs and lower 8 bits as inputs
// Loop back bits [15:8] to bits [7:0]
// Input Qualifier,  QUALVAL = 2
// Needs a delay between CLEAR/SET/TOGGLE instruction.
// For a pass, the delay must be >= 24 CPUCLK cycles
// This test is run 4 times.

// Test #5: 
// Configure Upper 7 bits of Port F as outputs and lower 8 bits as inputs
// Loop back bits [14:8] to bits [6:0], also loopback bit 8 to bit 7
// Needs a delay between CLEAR/SET/TOGGLE instruction.
// This test is run 4 times.

//###########################################################################
//
// Original Author: T.N.P
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  1.00| 11 Sep 2003 | L.H. | No change since previous version (v.58 Alpha)
//###########################################################################

#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File

// Prototype statements for functions found within this file.

void delay_loop(void);
void Gpio_select(void);
void error(int);
void program_stop();
void Gpio_PortA(void);
void Gpio_PortB(void);
void Gpio_PortF(void);
void Gpio_PortDEG(void);

Uint16 var1 = 0;
Uint16 var2 = 0;
Uint16 var3 = 0;
Uint16 test_count = 0;
Uint16 Test_flag = 0;
Uint16 Test_var  = 0;
Uint16 Test_status[32];

Uint16 PASS_flag = 0;

void main(void)
{

// Step 1. Initialize System Control registers, PLL, WatchDog, 
// peripheral Clocks to default state:
// This function is found in the DSP281x_SysCtrl.c file.
   InitSysCtrl();

// Step 2. Initalize GPIO: 
// This example function is found in the DSP281x_Gpio.c file and
// illustrates how to set the GPIO to it's default state.
// InitGpio();  // Skipped for this example  

// Step 3. Clear all interrupts and initialize PIE vector table:
// Disable CPU interrupts 
   DINT;

// Initialize PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.  
// This function is found in the DSP281x_PieCtrl.c file.
   InitPieCtrl();

// Disable CPU interrupts and clear all CPU interrupt flags:
   IER = 0x0000;
   IFR = 0x0000;

// Initialize the PIE vector table with pointers to the shell Interrupt 
// Service Routines (ISR).  
// This will populate the entire table, even if the interrupt
// is not used in this example.  This is useful for debug purposes.
// The shell ISR routines are found in DSP281x_DefaultIsr.c.
// This function is found in DSP281x_PieVect.c.
   InitPieVectTable();
   
// Step 4. Initialize all the Device Peripherals:
// This function is found in DSP281x_InitPeripherals.c
// InitPeripherals(); // Not required for this example

// Step 5. User specific code 

   // Tests #1, #2, #3
   Gpio_PortA();
    
   // Test #4
   Gpio_PortB();
    
   // Test #5
   Gpio_PortF();

   program_stop();
    
// Step 6. IDLE loop. Just sit and loop forever (optional):    
//    for(;;);
     
}

// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions:

void Gpio_PortA(void)
{    
    
// GPIO Test #1: 
// Configure Upper 8 bits of Port A as outputs and lower 8 bits as inputs    
// Loop back bits [15:8] to bits [7:0]
// Don't set any input qualifier
 
    var1= 0x0000;        // sets GPIO Muxs as I/Os
    var2= 0xFF00;        // sets GPIO 15-8 DIR as outputs, 7-0 DIR as inputs
    var3= 0x0000;        // Don't set any input qualifier
    
    Gpio_select();    
    
    test_count = 0;
    Test_status[Test_var] = 0x0001;
    Test_var++;
    
    Test_status[Test_var] = 0xD0BE;      // Set the default value of status 
                                         // to "PASSED"
        
    while (test_count < 4)               // repeat the tests 4 times
    {
       GpioDataRegs.GPACLEAR.all = 0xFF00;  // Test Clear
       asm(" RPT #5 ||NOP");                         
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0x0000 ) error(1);
    
       GpioDataRegs.GPASET.all = 0x5500;    // Test Set
       asm(" RPT #5 ||NOP");                         
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0x5555 ) error(1);
    
       GpioDataRegs.GPATOGGLE.all = 0xFF00; // Test Toggle 
       asm(" RPT #5 ||NOP");
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0xAAAA ) error(1);
    
       test_count++;
    
    }

    Test_var++;
    
// End of Test #1

// GPIO Test #2: 
// Configure Upper 8 bits of Port as inputs and lower 8 bits as outputs    
// Loop back bits [7:0] to bits [15:8]
// Don't set any input qualifier
 
    var1= 0x0000;       // sets GPIO Muxs as I/Os
    var2= 0x00FF;       // sets GPIO 15-8 DIR as inputs, 7-0 DIR as outputs
    var3= 0x0000;       // Don't set any input qualifier
    
    Gpio_select();    
    
    test_count = 0;
    Test_status[Test_var] = 0x0002;
    Test_var++;
    
    Test_status[Test_var] = 0xD0BE;      // Set the default value of status 
                                         // to "PASSED"
        
    while (test_count < 4)               // repeat the tests 4 times
    {
       GpioDataRegs.GPACLEAR.all = 0x00FF;  // Test Clear
       asm(" RPT #5 ||NOP");                         
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0x0000 ) error(1);
    
       GpioDataRegs.GPASET.all = 0x00AA;    // Test Set
       asm(" RPT #5 ||NOP");                         
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0xAAAA ) error(1);
    
       GpioDataRegs.GPATOGGLE.all = 0x0055; // Test Toggle 
       asm(" RPT #5 ||NOP");
       Test_flag = GpioDataRegs.GPADAT.all;
    
       if ( Test_flag != 0xFFFF ) error(1);
    
       test_count++;
    
    }
    
    Test_var++;
    
// End of Test #2

// GPIO Test #3: 
// Configure Upper 8 bits of Port as outputs and lower 8 bits as inputs    
// Loop back bits [15:8] to bits [7:0]
// Set input qualifier to 0x0001
 
    var1= 0x0000;        // sets GPIO Muxs as I/Os
    var2= 0xFF00;        // sets GPIO 15-8 DIR as outputs, 7-0 as inputs.
    var3= 0x0001;        // Set input qualifier to 1
        
    Gpio_select();
    
// Test #3A: Set delay so that the input gets rejected.
// delay must be < ( 6 * 2 * QUALVAL ) CPUCLK cycles

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久久久久久久| 久久综合色一综合色88| 蜜臀久久99精品久久久画质超高清 | 国产一区二区按摩在线观看| 中文字幕亚洲一区二区va在线| 91精品国产综合久久小美女| 99精品视频在线观看免费| 男女视频一区二区| 亚洲综合一区二区| 国产精品久久久一区麻豆最新章节| 日韩一区二区三区四区| 91蜜桃网址入口| 国产suv精品一区二区三区| 青青草97国产精品免费观看无弹窗版| 自拍偷拍国产精品| 中文字幕的久久| 久久精品视频一区二区| 日韩三级av在线播放| 欧美日韩国产美女| 色噜噜狠狠成人网p站| 不卡一区在线观看| 国产99久久精品| 国产精品综合在线视频| 久久精品国产精品亚洲红杏| 图片区小说区国产精品视频| 亚洲一区二区三区四区五区黄 | 精品一区二区在线视频| 视频一区视频二区在线观看| 亚洲制服丝袜在线| 亚洲三级在线免费观看| 国产精品动漫网站| 国产精品久久久久久久午夜片| 亚洲国产精品人人做人人爽| 亚洲欧洲精品成人久久奇米网| 国产欧美一区在线| 国产亚洲女人久久久久毛片| 久久九九99视频| 国产婷婷色一区二区三区四区| 亚洲精品一区二区三区精华液 | 久久久久久久久久看片| 亚洲精品一线二线三线无人区| 欧美mv和日韩mv的网站| 精品国产露脸精彩对白| 精品99999| 国产性天天综合网| 国产精品女人毛片| 亚洲欧美综合色| 亚洲卡通动漫在线| 亚洲欧美偷拍三级| 亚洲在线成人精品| 午夜免费久久看| 奇米在线7777在线精品| 久久av资源站| 成人自拍视频在线观看| 99国产麻豆精品| 欧美日韩你懂得| 日韩欧美一级特黄在线播放| 欧美精品一区二区在线播放| 国产丝袜欧美中文另类| 亚洲色图一区二区| 亚洲18影院在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 国产一区二区视频在线播放| www.色精品| 欧美日韩电影在线| 亚洲国产成人av网| 麻豆成人在线观看| 懂色av中文字幕一区二区三区 | 成人一区二区三区| 欧美在线|欧美| 91精品国产乱码| 中文字幕精品三区| 亚洲高清视频中文字幕| 激情伊人五月天久久综合| thepron国产精品| 欧美日韩国产高清一区二区| 26uuu国产日韩综合| 亚洲美女视频一区| 久久精品国产免费| 99麻豆久久久国产精品免费| 欧美日韩成人综合天天影院| 久久综合色一综合色88| 亚洲精品老司机| 精品无人码麻豆乱码1区2区 | 亚洲免费观看视频| 日本v片在线高清不卡在线观看| 国产成人日日夜夜| 欧美日韩免费在线视频| 日本一区二区高清| 日韩精品色哟哟| 色综合一区二区三区| 日韩欧美资源站| 尤物视频一区二区| 国产精品18久久久久久久久久久久| 色欧美片视频在线观看在线视频| 精品sm在线观看| 亚洲国产成人tv| 成人黄色777网| 精品国产一区久久| 亚洲大片在线观看| 99re在线精品| 久久久精品国产免大香伊| 香蕉影视欧美成人| 色综合久久六月婷婷中文字幕| 久久综合色之久久综合| 日韩不卡一二三区| 在线区一区二视频| 国产精品久久久久久久久动漫 | 国产成人三级在线观看| 欧美精品久久99久久在免费线| 成人欧美一区二区三区在线播放| 久久精品99国产精品日本| 欧美三级中文字幕在线观看| 亚洲欧美在线高清| 91精品国产综合久久香蕉的特点| 亚洲精品国产精华液| 成人精品免费视频| 国产日产精品1区| 久久成人免费网| 欧美精品自拍偷拍动漫精品| 一片黄亚洲嫩模| 色妹子一区二区| 中文字幕一区二区在线播放| 懂色av一区二区三区蜜臀| 久久网站热最新地址| 喷白浆一区二区| 91精品国产91久久综合桃花| 夜夜嗨av一区二区三区| 色香蕉久久蜜桃| 曰韩精品一区二区| 一本一本大道香蕉久在线精品 | 亚洲欧美色图小说| aaa国产一区| 国产精品久久夜| 99久久婷婷国产综合精品| 国产欧美日本一区视频| 国产一区二区精品久久| 久久久精品欧美丰满| 国产一区二区电影| 欧美高清在线一区| 99在线视频精品| 亚洲免费av高清| 欧美中文字幕亚洲一区二区va在线| 亚洲女女做受ⅹxx高潮| 色国产综合视频| 亚洲一区二区三区四区不卡| 欧美日韩不卡一区| 免费成人你懂的| 久久久久久久综合色一本| 国产成a人亚洲精品| 中文字幕在线观看不卡| 一本久久a久久免费精品不卡| 一区二区三区日韩| 欧美丰满美乳xxx高潮www| 老司机精品视频导航| 久久久久国产精品麻豆ai换脸| 国产在线日韩欧美| 中文字幕一区二区在线播放| 色噜噜狠狠一区二区三区果冻| 亚洲高清免费观看高清完整版在线观看| 欧美日韩国产精品自在自线| 美女国产一区二区三区| 国产女人水真多18毛片18精品视频| 成人av第一页| 性做久久久久久| 久久久久久免费网| 色综合网色综合| 日本三级亚洲精品| 日本一区二区综合亚洲| 91福利在线看| 久久99精品久久久久久久久久久久| 国产喂奶挤奶一区二区三区| 色综合视频在线观看| 青草国产精品久久久久久| 国产欧美日韩精品a在线观看| 日本韩国欧美三级| 久久er99热精品一区二区| 18成人在线观看| 欧美大片一区二区| 一本到一区二区三区| 热久久久久久久| 亚洲特级片在线| 精品91自产拍在线观看一区| 在线亚洲欧美专区二区| 精品一区二区免费| 亚洲黄色尤物视频| 久久亚洲精精品中文字幕早川悠里 | 日本黄色一区二区| 加勒比av一区二区| 91在线无精精品入口| 美美哒免费高清在线观看视频一区二区| 国产精品福利av| 亚洲精品在线观看视频| 欧美日韩国产一区| 99精品偷自拍| 国产精品一品二品| 六月婷婷色综合| 亚洲国产视频网站| 国产精品久久久久久亚洲毛片| 日韩欧美国产精品|