123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- //###########################################################################
- //
- // FILE: F2837xD_Examples.h
- //
- // TITLE: F2837xD Device Definitions.
- //
- //###########################################################################
- // $TI Release: F2837xD Support Library v3.05.00.00 $
- // $Release Date: Tue Jun 26 03:15:23 CDT 2018 $
- // $Copyright:
- // Copyright (C) 2013-2018 Texas Instruments Incorporated - http://www.ti.com/
- //
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- //
- // Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the
- // distribution.
- //
- // Neither the name of Texas Instruments Incorporated nor the names of
- // its contributors may be used to endorse or promote products derived
- // from this software without specific prior written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- // $
- //###########################################################################
- #ifndef F2837xD_EXAMPLES_H
- #define F2837xD_EXAMPLES_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- //
- // Defines
- //
- //
- // The following are values that can be passed to the
- // InitSysPll() & InitAuxPll() to select SYSPLL/AUXPLL integer multiplier
- //
- #define IMULT_0 0
- #define IMULT_1 1
- #define IMULT_2 2
- #define IMULT_3 3
- #define IMULT_4 4
- #define IMULT_5 5
- #define IMULT_6 6
- #define IMULT_7 7
- #define IMULT_8 8
- #define IMULT_9 9
- #define IMULT_10 10
- #define IMULT_11 11
- #define IMULT_12 12
- #define IMULT_13 13
- #define IMULT_14 14
- #define IMULT_15 15
- #define IMULT_16 16
- #define IMULT_17 17
- #define IMULT_18 18
- #define IMULT_19 19
- #define IMULT_20 20
- #define IMULT_21 21
- #define IMULT_22 22
- #define IMULT_23 23
- #define IMULT_24 24
- #define IMULT_25 25
- #define IMULT_26 26
- #define IMULT_27 27
- #define IMULT_28 28
- #define IMULT_29 29
- #define IMULT_30 30
- #define IMULT_31 31
- #define IMULT_32 32
- #define IMULT_33 33
- #define IMULT_34 34
- #define IMULT_35 35
- #define IMULT_36 36
- #define IMULT_37 37
- #define IMULT_38 38
- #define IMULT_39 39
- #define IMULT_40 40
- #define IMULT_41 41
- #define IMULT_42 42
- #define IMULT_43 43
- #define IMULT_44 44
- #define IMULT_45 45
- #define IMULT_46 46
- #define IMULT_47 47
- #define IMULT_48 48
- #define IMULT_49 49
- #define IMULT_50 50
- #define IMULT_51 51
- #define IMULT_52 52
- #define IMULT_53 53
- #define IMULT_54 54
- #define IMULT_55 55
- #define IMULT_56 56
- #define IMULT_57 57
- #define IMULT_58 58
- #define IMULT_59 59
- #define IMULT_60 60
- #define IMULT_61 61
- #define IMULT_62 62
- #define IMULT_63 63
- #define IMULT_64 64
- #define IMULT_65 65
- #define IMULT_66 66
- #define IMULT_67 67
- #define IMULT_68 68
- #define IMULT_69 69
- #define IMULT_70 70
- #define IMULT_71 71
- #define IMULT_72 72
- #define IMULT_73 73
- #define IMULT_74 74
- #define IMULT_75 75
- #define IMULT_76 76
- #define IMULT_77 77
- #define IMULT_78 78
- #define IMULT_79 79
- #define IMULT_80 80
- #define IMULT_81 81
- #define IMULT_82 82
- #define IMULT_83 83
- #define IMULT_84 84
- #define IMULT_85 85
- #define IMULT_86 86
- #define IMULT_87 87
- #define IMULT_88 88
- #define IMULT_89 89
- #define IMULT_90 90
- #define IMULT_91 91
- #define IMULT_92 92
- #define IMULT_93 93
- #define IMULT_94 94
- #define IMULT_95 95
- #define IMULT_96 96
- #define IMULT_97 97
- #define IMULT_98 98
- #define IMULT_99 99
- #define IMULT_100 100
- #define IMULT_101 101
- #define IMULT_102 102
- #define IMULT_103 103
- #define IMULT_104 104
- #define IMULT_105 105
- #define IMULT_106 106
- #define IMULT_107 107
- #define IMULT_108 108
- #define IMULT_109 109
- #define IMULT_110 110
- #define IMULT_111 111
- #define IMULT_112 112
- #define IMULT_113 113
- #define IMULT_114 114
- #define IMULT_115 115
- #define IMULT_116 116
- #define IMULT_117 117
- #define IMULT_118 118
- #define IMULT_119 119
- #define IMULT_120 120
- #define IMULT_121 121
- #define IMULT_122 122
- #define IMULT_123 123
- #define IMULT_124 124
- #define IMULT_125 125
- #define IMULT_126 126
- #define IMULT_127 127
- //
- // The following are values that can be passed to the
- // InitSysPll() & InitAuxPll() to select SYSPLL/AUXPLL fractional multiplier
- //
- #define FMULT_0 0
- #define FMULT_0pt25 1
- #define FMULT_0pt5 2
- #define FMULT_0pt75 3
- //
- // The following are values that can be passed to the
- // InitSysPll() to select divsel for SYSPLL
- //
- #define PLLCLK_BY_1 0
- #define PLLCLK_BY_2 1
- #define PLLCLK_BY_4 2
- #define PLLCLK_BY_6 3
- #define PLLCLK_BY_8 4
- #define PLLCLK_BY_10 5
- #define PLLCLK_BY_12 6
- #define PLLCLK_BY_14 7
- #define PLLCLK_BY_16 8
- #define PLLCLK_BY_18 9
- #define PLLCLK_BY_20 10
- #define PLLCLK_BY_22 11
- #define PLLCLK_BY_24 12
- #define PLLCLK_BY_26 13
- #define PLLCLK_BY_28 14
- #define PLLCLK_BY_30 15
- #define PLLCLK_BY_32 16
- #define PLLCLK_BY_34 17
- #define PLLCLK_BY_36 18
- #define PLLCLK_BY_38 19
- #define PLLCLK_BY_40 20
- #define PLLCLK_BY_42 21
- #define PLLCLK_BY_44 22
- #define PLLCLK_BY_46 23
- #define PLLCLK_BY_48 24
- #define PLLCLK_BY_50 25
- #define PLLCLK_BY_52 26
- #define PLLCLK_BY_54 27
- #define PLLCLK_BY_56 28
- #define PLLCLK_BY_58 29
- #define PLLCLK_BY_60 30
- #define PLLCLK_BY_62 31
- #define PLLCLK_BY_64 32
- #define PLLCLK_BY_66 33
- #define PLLCLK_BY_68 34
- #define PLLCLK_BY_70 35
- #define PLLCLK_BY_72 36
- #define PLLCLK_BY_74 37
- #define PLLCLK_BY_76 38
- #define PLLCLK_BY_78 39
- #define PLLCLK_BY_80 40
- #define PLLCLK_BY_82 41
- #define PLLCLK_BY_84 42
- #define PLLCLK_BY_86 43
- #define PLLCLK_BY_88 44
- #define PLLCLK_BY_90 45
- #define PLLCLK_BY_92 46
- #define PLLCLK_BY_94 47
- #define PLLCLK_BY_96 48
- #define PLLCLK_BY_98 49
- #define PLLCLK_BY_100 50
- #define PLLCLK_BY_102 51
- #define PLLCLK_BY_104 52
- #define PLLCLK_BY_106 53
- #define PLLCLK_BY_108 54
- #define PLLCLK_BY_110 55
- #define PLLCLK_BY_112 56
- #define PLLCLK_BY_114 57
- #define PLLCLK_BY_116 58
- #define PLLCLK_BY_118 59
- #define PLLCLK_BY_120 60
- #define PLLCLK_BY_122 61
- #define PLLCLK_BY_124 62
- #define PLLCLK_BY_126 63
- //
- // The following are values that can be passed to the
- // InitAuxPll() to select divsel for AUXPLL
- //
- #define AUXPLLRAWCLK_BY_1 0
- #define AUXPLLRAWCLK_BY_2 1
- #define AUXPLLRAWCLK_BY_4 2
- #define AUXPLLRAWCLK_BY_8 3
- //
- // The following are values that can be passed to the
- // IntOsc2Sel() & XtalOscSel() to select system PLL (or) AUX PLL
- //
- #define SYSTEM_PLL (Uint16) 0
- #define AUX_PLL (Uint16) 1
- //
- // The following are values that can be passed to the
- // InitSysPll() & InitAuxPll() to select clock source
- //
- #define INT_OSC2 0
- #define XTAL_OSC 1
- #define INT_OSC1 2
- #define AUXCLKIN 4
- //
- // Specify the clock rate of the CPU (SYSCLKOUT) in nS.
- //
- // Take into account the input clock frequency and the PLL multiplier
- // selected in step 1.
- //
- // Use one of the values provided, or define your own.
- // The trailing L is required tells the compiler to treat
- // the number as a 64-bit value.
- //
- // Only one statement should be uncommented.
- //
- // Example: 200 MHz devices:
- // CLKIN is a 10 MHz crystal or internal 10 MHz oscillator
- //
- // In step 1 the user specified the PLL multiplier = 40 for a
- // 200 MHz CPU clock (SYSCLKOUT = 200 MHz).
- //
- // In this case, the CPU_RATE will be 5.000L
- // Uncomment the line: #define CPU_RATE 5.000L
- //
- #define CPU_RATE 5.00L // for a 200MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 5.263L // for a 190MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 5.556L // for a 180MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 5.882L // for a 170MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 6.250L // for a 160MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 7.143L // for a 140MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 7.692L // for a 130MHz CPU clock speed (SYSCLKOUT)
- //#define CPU_RATE 8.333L // for a 120MHz CPU clock speed (SYSCLKOUT)
- //
- // The following pointer to a function call calibrates the ADC reference,
- // DAC offset, and internal oscillators
- //
- #define Device_cal (void (*)(void))0x070282
- //
- // The following pointers to functions calibrate the ADC linearity. Use this
- // in the AdcSetMode(...) function only
- //
- #define CalAdcaINL (void (*)(void))0x0703B4
- #define CalAdcbINL (void (*)(void))0x0703B2
- #define CalAdccINL (void (*)(void))0x0703B0
- #define CalAdcdINL (void (*)(void))0x0703AE
- //
- // The following pointer to a function call looks up the ADC offset trim for a
- // given condition. Use this in the AdcSetMode(...) function only.
- //
- #define GetAdcOffsetTrimOTP (Uint16 (*)(Uint16 OTPoffset))0x0703AC
- //
- // Includes
- //
- #include "F2837xD_GlobalPrototypes.h" // Prototypes for global functions
- // within the .c files.
- #include "F2837xD_cputimervars.h"
- #include "F2837xD_Cla_defines.h" // Macros used for CLA examples.
- #include "F2837xD_EPwm_defines.h" // Macros used for PWM examples.
- #include "F2837xD_Adc_defines.h" // Macros used for ADC examples.
- #include "F2837xD_Emif_defines.h" // Macros used for EMIF examples.
- #include "F2837xD_Gpio_defines.h" // Macros used for GPIO support code
- #include "F2837xD_I2c_defines.h" // Macros used for I2C examples.
- #include "F2837xD_Ipc_defines.h" // Macros used for IPC support code.
- #include "F2837xD_Pie_defines.h" // Macros used for PIE examples.
- #include "F2837xD_Dma_defines.h" // Macros used for DMA examples.
- #include "F2837xD_SysCtrl_defines.h" // Macros used for LPM support code
- #include "F2837xD_Upp_defines.h" // Macros used for UPP examples.
- #define PARTNO_2837xPACKAGEHERE 0x00
- #define CPU_FRQ_200MHZ 1
- #define CPU_FRQ_150MHZ 0
- #define CPU_FRQ_120MHZ 0
- //
- // Include files not used with F/BIOS
- //
- #ifndef F28_BIOS
- #include "F2837xD_defaultisr.h"
- #endif
- extern void F28x_usDelay(long LoopCount);
- //
- // DO NOT MODIFY THIS LINE.
- //
- #define DELAY_US(A) F28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
- //
- // Timer Operations:
- //
- //
- // Start Timer:
- //
- #define StartCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 0
- //
- // Stop Timer:
- //
- #define StopCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 1
- //
- // Reload Timer With period Value:
- //
- #define ReloadCpuTimer0() CpuTimer0Regs.TCR.bit.TRB = 1
- //
- // Read 32-Bit Timer Value:
- //
- #define ReadCpuTimer0Counter() CpuTimer0Regs.TIM.all
- //
- // Read 32-Bit Period Value:
- //
- #define ReadCpuTimer0Period() CpuTimer0Regs.PRD.all
- //
- // Start Timer:
- //
- #define StartCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 0
- #define StartCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 0
- //
- // Stop Timer:
- //
- #define StopCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 1
- #define StopCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 1
- //
- // Reload Timer With period Value:
- //
- #define ReloadCpuTimer1() CpuTimer1Regs.TCR.bit.TRB = 1
- #define ReloadCpuTimer2() CpuTimer2Regs.TCR.bit.TRB = 1
- //
- // Read 32-Bit Timer Value:
- //
- #define ReadCpuTimer1Counter() CpuTimer1Regs.TIM.all
- #define ReadCpuTimer2Counter() CpuTimer2Regs.TIM.all
- //
- // Read 32-Bit Period Value:
- //
- #define ReadCpuTimer1Period() CpuTimer1Regs.PRD.all
- #define ReadCpuTimer2Period() CpuTimer2Regs.PRD.all
- #ifdef __cplusplus
- }
- #endif /* extern "C" */
- #endif // end of F2837xD_EXAMPLES_H definition
- //
- // End of file
- //
|