Ярлыки

_GetPixelIndex (1) _SetPixelIndex (1) 3-phase (1) 800x480 (1) АЦП (1) генератор (1) синхронный усилитель (2) структура (1) учебный курс (1) шаговый двигатель (1) ШИМ (2) accert (1) AD7608 (1) AD8429 (1) ADC (5) amplifer (1) arccos (1) arcsin (1) arctang (2) arctg (3) ARM (2) arm_sqrt_q15 (2) assembler (6) ASSERT (1) atan (2) bit (1) Bitband (1) boot (3) bootlloader (1) BUTTON (1) C (5) C# (1) CAN (2) CC2530 (5) CMSIS (4) command (1) Cordic (1) Core746I (1) CubeMX (4) DBGMCU (2) debug (2) debug.ini (1) delegate (1) Digital Potentiometers (1) DigitalPOT (1) Discovery (1) DMA (9) DMA2D (1) DSP (1) DSP library (1) DWT (1) EFM32 (5) EmWin (9) EXTI (1) FATFS (1) FMC (2) FreeRTOS (2) gl868-dual cmux (1) GPIO (4) GUI (2) GUIBuilder (1) GUIDRV_CompactColor_16 (1) HAL (3) HappyGecko (1) Hard Fault (2) heap (1) I2C (1) ID (1) ILI9320 (1) ILI9325 (1) Initialisation (1) InitLTDC (1) Instrumentithion (1) Interrupt (4) ITR (1) JTAG (1) Keil (5) LCDConf (2) lock-in (1) LTCD (1) LTDC (3) main (1) memory (1) MINI_STM32 Revision 01 (1) nBoot0 (1) NVIC (1) OnePulse (2) OSAL (4) pack (1) phase (1) printf (3) Pulse (1) PWM (12) RCC (2) RCR (1) Register (1) RESET (2) RS232 (3) RSS (1) RTC (3) RTOS-RTX (1) RTT (1) RTX-RTOS (1) SDCard (1) SDRAM (6) Segger (2) SPI (3) sqrt (3) SSD1298 (1) SSD1963 (1) Standart Peripherial Library (3) STANDBAY (1) startup (1) STemWin (8) stepper motor (1) STlink (2) STM32 (17) STM32429ZI (1) STM32Cube (1) STM32DBG.IN (1) STM32F (28) STM32F0 (4) STM32F1 (13) STM32F4 (10) STM32F4 Discovery (1) STM32F407ZG (1) STM32F429 (2) STM32F746 (1) STOP (1) string (1) struct (1) SWD (1) SWD JTAG (1) Synhronization (1) system_stm32f4xx.c (1) SystemInit (1) SysTick (1) task (4) telit (1) TIM (27) typedef (1) UART (1) USART (9) viewer (2) WM_PAINT (1) Z-stack (5) ZigBee (5)

воскресенье, 13 ноября 2016 г.

EFM32 UART DMA Tx

#include "em_device.h"
#include "em_chip.h"
#include "em_usart.h"
#include "em_gpio.h"
#include "em_dma.h"
#include "em_cmu.h"
#include "em_emu.h"
#include "em_timer.h"
#include "em_int.h"
#include "em_prs.h"
#include "InitDevice.h"

#define DMA_CHANNEL_UART_TX    0  //
/* DMA init structure */
DMA_Init_TypeDef dmaInit;
/* DMA callback structure */
DMA_CB_TypeDef cb[DMA_CHAN_COUNT];//DMA_CHAN_COUN????
/** DMA control block, requires proper alignment. */
DMA_DESCRIPTOR_TypeDef dmaControlBlock[DMA_CHAN_COUNT * 2] __attribute__ ((aligned(256)));

uint8_t  ucComplete = 0;
uint8_t  Tx_buffer[8] = {0x30,0x31,0x32,0x33,0x34,0x35,0x0D,0x0A};

void UARTTxTransferComplete(unsigned int channel, bool primary, void *user)
{
    ucComplete = 1;
 GPIO_PinOutToggle(gpioPortE, 12);
}

void DMA_for_UART_Tx(void)
{
    DMA_CfgChannel_TypeDef  chnlCfg;
    DMA_CfgDescr_TypeDef    descrCfg;
 
    /* Setting up call-back function */
    cb[DMA_CHANNEL_UART_TX].cbFunc = UARTTxTransferComplete; //Set DMA is completed, whether to call the callback function. If there is no callback function, it is set to NULL
    cb[DMA_CHANNEL_UART_TX].userPtr = NULL;
 
    /* Setting up channel */
    chnlCfg.highPri = false;
    chnlCfg.enableInt = true;
    //Set the DMA to send the next byte of the conditions, here is: When the Tx is completed, DMA then start to take down a byte to send
    chnlCfg.select = DMAREQ_USART1_TXEMPTY;
 
    //Initializes the function of the callback part of the DMA register
    chnlCfg.cb = &(cb[DMA_CHANNEL_UART_TX]);
    DMA_CfgChannel(DMA_CHANNEL_UART_TX, &chnlCfg);
 
    //Register that defines the logical portion of the DMA
    /* Setting up channel descriptor */
    descrCfg.dstInc = dmaDataIncNone;   //Meaning of the target address unchanged
    descrCfg.srcInc = dmaDataInc1;      //This means that the source address is incremented by one byte at a time
    descrCfg.size = dmaDataSize1;       //The byte unit of each transmission
    descrCfg.arbRate = dmaArbitrate1;   //DMA arbitration, one arbitration for every 1 byte sent
    descrCfg.hprot = 0;
    DMA_CfgDescr(DMA_CHANNEL_UART_TX, true, &descrCfg);
}
void DMAInit(void)
{
    CMU_ClockEnable(cmuClock_DMA, true);
  /* Initializing the DMA */
  dmaInit.hprot = 0;
  dmaInit.controlBlock = dmaControlBlock;
  DMA_Init(&dmaInit);
}

int main(void)
{
/* Initialize chip */
CHIP_Init();
enter_DefaultMode_from_RESET();
GPIO_PinModeSet(gpioPortE, 12,  gpioModePushPullDrive, 0); /* TX */
DMAInit();
DMA_for_UART_Tx();
ucComplete = 1;
GPIO_PinOutSet(DE_PORT, DE_PIN);
/* Infinite blink loop */
while(1)
  {
  if(ucComplete)
    {
GPIO_PinOutSet(DE_PORT, DE_PIN);          
    DMA_ActivateBasic(DMA_CHANNEL_UART_TX,
      true,
      false,
      (void *)&(USART1->TXDATA),
      (void *)&Tx_buffer,
      sizeof(Tx_buffer) - 1);
    ucComplete = 0;
    }
  }
}


//=========================================================
// inc/InitDevice.h: generated by Hardware Configurator
//
// This file will be regenerated when saving a document.
// leave the sections inside the "$[...]" comment tags alone
// or they will be overwritten!
//=========================================================
#ifndef __INIT_DEVICE_H__
#define __INIT_DEVICE_H__

// USER CONSTANTS
// USER PROTOTYPES

// $[Mode Transition Prototypes]
extern void enter_DefaultMode_from_RESET(void);
// [Mode Transition Prototypes]$

// $[Config(Per-Module Mode)Transition Prototypes]
extern void HFXO_enter_DefaultMode_from_RESET(void);
extern void LFXO_enter_DefaultMode_from_RESET(void);
extern void CMU_enter_DefaultMode_from_RESET(void);
extern void ADC0_enter_DefaultMode_from_RESET(void);
extern void ACMP0_enter_DefaultMode_from_RESET(void);
extern void ACMP1_enter_DefaultMode_from_RESET(void);
extern void DAC0_enter_DefaultMode_from_RESET(void);
extern void BURTC_enter_DefaultMode_from_RESET(void);
extern void RTC_enter_DefaultMode_from_RESET(void);
extern void OPAMP0_enter_DefaultMode_from_RESET(void);
extern void OPAMP1_enter_DefaultMode_from_RESET(void);
extern void OPAMP2_enter_DefaultMode_from_RESET(void);
extern void USART0_enter_DefaultMode_from_RESET(void);
extern void USART1_enter_DefaultMode_from_RESET(void);
extern void USART2_enter_DefaultMode_from_RESET(void);
extern void LEUART0_enter_DefaultMode_from_RESET(void);
extern void LEUART1_enter_DefaultMode_from_RESET(void);
extern void VCMP_enter_DefaultMode_from_RESET(void);
extern void WDOG_enter_DefaultMode_from_RESET(void);
extern void I2C0_enter_DefaultMode_from_RESET(void);
extern void I2C1_enter_DefaultMode_from_RESET(void);
extern void TIMER0_enter_DefaultMode_from_RESET(void);
extern void TIMER1_enter_DefaultMode_from_RESET(void);
extern void TIMER2_enter_DefaultMode_from_RESET(void);
extern void TIMER3_enter_DefaultMode_from_RESET(void);
extern void LETIMER0_enter_DefaultMode_from_RESET(void);
extern void PCNT0_enter_DefaultMode_from_RESET(void);
extern void PCNT1_enter_DefaultMode_from_RESET(void);
extern void PCNT2_enter_DefaultMode_from_RESET(void);
extern void PRS_enter_DefaultMode_from_RESET(void);
extern void ETM_enter_DefaultMode_from_RESET(void);
extern void PORTIO_enter_DefaultMode_from_RESET(void);
// [Config(Per-Module Mode)Transition Prototypes]$

// $[User-defined pin name abstraction]

#define DE_PIN              (4)
#define DE_PORT             (gpioPortD)

#define LEUART1_RX_PIN      (7)
#define LEUART1_RX_PORT     (gpioPortC)

#define LEUART1_TX_PIN      (6)
#define LEUART1_TX_PORT     (gpioPortC)

#define USART0_RX_PIN       (11)
#define USART0_RX_PORT      (gpioPortE)

#define USART0_TX_PIN       (10)
#define USART0_TX_PORT      (gpioPortE)

#define USART1_RX_PIN       (1)
#define USART1_RX_PORT      (gpioPortC)

#define USART1_TX_PIN       (0)
#define USART1_TX_PORT      (gpioPortC)

// [User-defined pin name abstraction]$

#endif


//=========================================================
// src/InitDevice.c: generated by Hardware Configurator
//
// This file will be regenerated when saving a document.
// leave the sections inside the "$[...]" comment tags alone
// or they will be overwritten!
//=========================================================

// USER INCLUDES
#include "InitDevice.h"

// USER PROTOTYPES
// USER FUNCTIONS

// $[Library includes]
#include "em_system.h"
#include "em_emu.h"
#include "em_cmu.h"
#include "em_device.h"
#include "em_chip.h"
#include "em_assert.h"
#include "em_dma.h"
#include "em_gpio.h"
#include "em_leuart.h"
#include "em_usart.h"
// [Library includes]$

//==============================================================================
// enter_DefaultMode_from_RESET
//==============================================================================
extern void enter_DefaultMode_from_RESET(void) {
// $[Config Calls]
CHIP_Init();

HFXO_enter_DefaultMode_from_RESET();
LFXO_enter_DefaultMode_from_RESET();
CMU_enter_DefaultMode_from_RESET();
USART0_enter_DefaultMode_from_RESET();
USART1_enter_DefaultMode_from_RESET();
LEUART1_enter_DefaultMode_from_RESET();
PORTIO_enter_DefaultMode_from_RESET();
// [Config Calls]$

}

//================================================================================
// HFXO_enter_DefaultMode_from_RESET
//================================================================================
extern void HFXO_enter_DefaultMode_from_RESET(void) {

// $[HFXO]
CMU->CTRL = (CMU->CTRL & ~_CMU_CTRL_HFXOMODE_MASK) | CMU_CTRL_HFXOMODE_XTAL;

CMU->CTRL = (CMU->CTRL & ~_CMU_CTRL_HFXOBOOST_MASK)
| CMU_CTRL_HFXOBOOST_50PCENT;

SystemHFXOClockSet(24000000);
// [HFXO]$

}

//================================================================================
// LFXO_enter_DefaultMode_from_RESET
//================================================================================
extern void LFXO_enter_DefaultMode_from_RESET(void) {

// $[Use oscillator source]
CMU->CTRL = (CMU->CTRL & ~_CMU_CTRL_LFXOMODE_MASK) | CMU_CTRL_LFXOMODE_XTAL;
// [Use oscillator source]$

// $[LFXO Boost Percent]
CMU->CTRL = (CMU->CTRL & ~_CMU_CTRL_LFXOBOOST_MASK)
| CMU_CTRL_LFXOBOOST_100PCENT;
// [LFXO Boost Percent]$

// $[REDLFXO Boost]
// [REDLFXO Boost]$

}

//================================================================================
// CMU_enter_DefaultMode_from_RESET
//================================================================================
extern void CMU_enter_DefaultMode_from_RESET(void) {

// $[LFXO enable]
CMU_OscillatorEnable(cmuOsc_LFXO, true, true);
// [LFXO enable]$

// $[HFXO enable]
CMU_OscillatorEnable(cmuOsc_HFXO, true, true);
// [HFXO enable]$

// $[LFACLK Setup]
// [LFACLK Setup]$

// $[High Frequency Clock select]
/* Using HFXO as high frequency clock, HFCLK */
CMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFXO);

/* Enable peripheral clock */
CMU_ClockEnable(cmuClock_HFPER, true);

// [High Frequency Clock select]$

// $[LF clock tree setup]
/* Enable LF clocks */
CMU_ClockEnable(cmuClock_CORELE, true);
CMU_ClockSelectSet(cmuClock_LFB, cmuSelect_LFXO);
// [LF clock tree setup]$
// $[Peripheral Clock enables]
/* Enable clock for DMA */
CMU_ClockEnable(cmuClock_DMA, true);

/* Enable clock for LEUART1 */
CMU_ClockEnable(cmuClock_LEUART1, true);

/* Enable clock for USART0 */
CMU_ClockEnable(cmuClock_USART0, true);

/* Enable clock for USART1 */
CMU_ClockEnable(cmuClock_USART1, true);

/* Enable clock for GPIO by default */
CMU_ClockEnable(cmuClock_GPIO, true);

// [Peripheral Clock enables]$

}

//================================================================================
// ADC0_enter_DefaultMode_from_RESET
//================================================================================
extern void ADC0_enter_DefaultMode_from_RESET(void) {

// $[ADC_Init]
// [ADC_Init]$

// $[ADC_InitSingle]
// [ADC_InitSingle]$

// $[ADC_InitScan]
// [ADC_InitScan]$

}

//================================================================================
// ACMP0_enter_DefaultMode_from_RESET
//================================================================================
extern void ACMP0_enter_DefaultMode_from_RESET(void) {

// $[ACMP Initialization]
// [ACMP Initialization]$

// $[ACMP Channel config]
// [ACMP Channel config]$

}

//================================================================================
// ACMP1_enter_DefaultMode_from_RESET
//================================================================================
extern void ACMP1_enter_DefaultMode_from_RESET(void) {

// $[ACMP Initialization]
// [ACMP Initialization]$

// $[ACMP Channel config]
// [ACMP Channel config]$

}

//================================================================================
// DAC0_enter_DefaultMode_from_RESET
//================================================================================
extern void DAC0_enter_DefaultMode_from_RESET(void) {

// $[DAC Initialization]
// [DAC Initialization]$

// $[DAC Channel 0 config]
// [DAC Channel 0 config]$

// $[DAC Channel 1 config]
// [DAC Channel 1 config]$

}

//================================================================================
// BURTC_enter_DefaultMode_from_RESET
//================================================================================
extern void BURTC_enter_DefaultMode_from_RESET(void) {

// $[CMU_ClockEnable]
// [CMU_ClockEnable]$

// $[CMU_OscillatorEnable]
// [CMU_OscillatorEnable]$

// $[RMU_ResetControl]
// [RMU_ResetControl]$

// $[BURTC_Init]
// [BURTC_Init]$

// $[BURTC_CompareSet]
// [BURTC_CompareSet]$

}

//================================================================================
// RTC_enter_DefaultMode_from_RESET
//================================================================================
extern void RTC_enter_DefaultMode_from_RESET(void) {

// $[RTC_Init]
// [RTC_Init]$

}

//================================================================================
// OPAMP0_enter_DefaultMode_from_RESET
//================================================================================
extern void OPAMP0_enter_DefaultMode_from_RESET(void) {

// $[DAC Output]
// [DAC Output]$

// $[OPAMP_Enable]
// [OPAMP_Enable]$

}

//================================================================================
// OPAMP1_enter_DefaultMode_from_RESET
//================================================================================
extern void OPAMP1_enter_DefaultMode_from_RESET(void) {

// $[DAC Output]
// [DAC Output]$

// $[OPAMP_Enable]
// [OPAMP_Enable]$

}

//================================================================================
// OPAMP2_enter_DefaultMode_from_RESET
//================================================================================
extern void OPAMP2_enter_DefaultMode_from_RESET(void) {

// $[DAC Output]
// [DAC Output]$

// $[OPAMP_Enable]
// [OPAMP_Enable]$

}

//================================================================================
// USART0_enter_DefaultMode_from_RESET
//================================================================================
extern void USART0_enter_DefaultMode_from_RESET(void) {

// $[USART_InitAsync]
USART_InitAsync_TypeDef initasync = USART_INITASYNC_DEFAULT;

initasync.baudrate = 115200;
initasync.databits = usartDatabits8;
initasync.parity = usartNoParity;
initasync.stopbits = usartStopbits1;
initasync.oversampling = usartOVS16;
#if defined( USART_INPUT_RXPRS ) && defined( USART_CTRL_MVDIS )
initasync.mvdis = 0;
initasync.prsRxEnable = 0;
initasync.prsRxCh = 0;
#endif

USART_InitAsync(USART0, &initasync);
// [USART_InitAsync]$

// $[USART_InitSync]
// [USART_InitSync]$

// $[USART_InitPrsTrigger]
USART_PrsTriggerInit_TypeDef initprs = USART_INITPRSTRIGGER_DEFAULT;

initprs.rxTriggerEnable = 0;
initprs.txTriggerEnable = 0;
initprs.prsTriggerChannel = usartPrsTriggerCh0;

USART_InitPrsTrigger(USART0, &initprs);
// [USART_InitPrsTrigger]$

}

//================================================================================
// USART1_enter_DefaultMode_from_RESET
//================================================================================
extern void USART1_enter_DefaultMode_from_RESET(void) {

// $[USART_InitAsync]
USART_InitAsync_TypeDef initasync = USART_INITASYNC_DEFAULT;

initasync.baudrate = 115200;
initasync.databits = usartDatabits8;
initasync.parity = usartNoParity;
initasync.stopbits = usartStopbits1;
initasync.oversampling = usartOVS16;
#if defined( USART_INPUT_RXPRS ) && defined( USART_CTRL_MVDIS )
initasync.mvdis = 0;
initasync.prsRxEnable = 0;
initasync.prsRxCh = 0;
#endif

USART_InitAsync(USART1, &initasync);
// [USART_InitAsync]$

// $[USART_InitSync]
// [USART_InitSync]$

// $[USART_InitPrsTrigger]
USART_PrsTriggerInit_TypeDef initprs = USART_INITPRSTRIGGER_DEFAULT;

initprs.rxTriggerEnable = 0;
initprs.txTriggerEnable = 0;
initprs.prsTriggerChannel = usartPrsTriggerCh0;

USART_InitPrsTrigger(USART1, &initprs);
// [USART_InitPrsTrigger]$

}

//================================================================================
// USART2_enter_DefaultMode_from_RESET
//================================================================================
extern void USART2_enter_DefaultMode_from_RESET(void) {

// $[USART_InitAsync]
// [USART_InitAsync]$

// $[USART_InitSync]
// [USART_InitSync]$

// $[USART_InitPrsTrigger]
// [USART_InitPrsTrigger]$

}

//================================================================================
// LEUART0_enter_DefaultMode_from_RESET
//================================================================================
extern void LEUART0_enter_DefaultMode_from_RESET(void) {

// $[LEUART0 initialization]
// [LEUART0 initialization]$

}

//================================================================================
// LEUART1_enter_DefaultMode_from_RESET
//================================================================================
extern void LEUART1_enter_DefaultMode_from_RESET(void) {

// $[LEUART1 initialization]
LEUART_Init_TypeDef initleuart = LEUART_INIT_DEFAULT;

initleuart.enable = leuartEnable;
initleuart.baudrate = 9600;
initleuart.databits = leuartDatabits8;
initleuart.parity = leuartNoParity;
initleuart.stopbits = leuartStopbits1;
LEUART_Init(LEUART1, &initleuart);

/* Configuring non-standard properties */
LEUART_TxDmaInEM2Enable(LEUART1, 0);
LEUART_RxDmaInEM2Enable(LEUART1, 0);

// [LEUART1 initialization]$

}

//================================================================================
// VCMP_enter_DefaultMode_from_RESET
//================================================================================
extern void VCMP_enter_DefaultMode_from_RESET(void) {

// $[VCMP_Init]
// [VCMP_Init]$

}

//================================================================================
// WDOG_enter_DefaultMode_from_RESET
//================================================================================
extern void WDOG_enter_DefaultMode_from_RESET(void) {

// $[CMU_ClockEnable]
// [CMU_ClockEnable]$

// $[CMU_OscillatorEnable]
// [CMU_OscillatorEnable]$

// $[WDOG_Init]
// [WDOG_Init]$

}

//================================================================================
// I2C0_enter_DefaultMode_from_RESET
//================================================================================
extern void I2C0_enter_DefaultMode_from_RESET(void) {

// $[I2C0 initialization]
// [I2C0 initialization]$

}

//================================================================================
// I2C1_enter_DefaultMode_from_RESET
//================================================================================
extern void I2C1_enter_DefaultMode_from_RESET(void) {

// $[I2C1 initialization]
// [I2C1 initialization]$

}

//================================================================================
// TIMER0_enter_DefaultMode_from_RESET
//================================================================================
extern void TIMER0_enter_DefaultMode_from_RESET(void) {

// $[TIMER0 initialization]
// [TIMER0 initialization]$

// $[TIMER0 CC0 init]
// [TIMER0 CC0 init]$

// $[TIMER0 CC1 init]
// [TIMER0 CC1 init]$

// $[TIMER0 CC2 init]
// [TIMER0 CC2 init]$

// $[TIMER0 DTI init]
// [TIMER0 DTI init]$

}

//================================================================================
// TIMER1_enter_DefaultMode_from_RESET
//================================================================================
extern void TIMER1_enter_DefaultMode_from_RESET(void) {

// $[TIMER1 initialization]
// [TIMER1 initialization]$

// $[TIMER1 CC0 init]
// [TIMER1 CC0 init]$

// $[TIMER1 CC1 init]
// [TIMER1 CC1 init]$

// $[TIMER1 CC2 init]
// [TIMER1 CC2 init]$

}

//================================================================================
// TIMER2_enter_DefaultMode_from_RESET
//================================================================================
extern void TIMER2_enter_DefaultMode_from_RESET(void) {

// $[TIMER2 initialization]
// [TIMER2 initialization]$

// $[TIMER2 CC0 init]
// [TIMER2 CC0 init]$

// $[TIMER2 CC1 init]
// [TIMER2 CC1 init]$

// $[TIMER2 CC2 init]
// [TIMER2 CC2 init]$

}

//================================================================================
// TIMER3_enter_DefaultMode_from_RESET
//================================================================================
extern void TIMER3_enter_DefaultMode_from_RESET(void) {

// $[TIMER3 initialization]
// [TIMER3 initialization]$

// $[TIMER3 CC0 init]
// [TIMER3 CC0 init]$

// $[TIMER3 CC1 init]
// [TIMER3 CC1 init]$

// $[TIMER3 CC2 init]
// [TIMER3 CC2 init]$

}

//================================================================================
// LETIMER0_enter_DefaultMode_from_RESET
//================================================================================
extern void LETIMER0_enter_DefaultMode_from_RESET(void) {

// $[LETIMER0_Init]
// [LETIMER0_Init]$

}

//================================================================================
// PCNT0_enter_DefaultMode_from_RESET
//================================================================================
extern void PCNT0_enter_DefaultMode_from_RESET(void) {

// $[PCNT0 initialization]
// [PCNT0 initialization]$

}

//================================================================================
// PCNT1_enter_DefaultMode_from_RESET
//================================================================================
extern void PCNT1_enter_DefaultMode_from_RESET(void) {

// $[PCNT1 initialization]
// [PCNT1 initialization]$

}

//================================================================================
// PCNT2_enter_DefaultMode_from_RESET
//================================================================================
extern void PCNT2_enter_DefaultMode_from_RESET(void) {

// $[PCNT2 initialization]
// [PCNT2 initialization]$

}

//================================================================================
// PRS_enter_DefaultMode_from_RESET
//================================================================================
extern void PRS_enter_DefaultMode_from_RESET(void) {

// $[PRS initialization]
// [PRS initialization]$

}

//================================================================================
// ETM_enter_DefaultMode_from_RESET
//================================================================================
extern void ETM_enter_DefaultMode_from_RESET(void) {

// $[ETM initialization]
// [ETM initialization]$

}

//================================================================================
// PORTIO_enter_DefaultMode_from_RESET
//================================================================================
extern void PORTIO_enter_DefaultMode_from_RESET(void) {

// $[Port A Configuration]
// [Port A Configuration]$

// $[Port B Configuration]
// [Port B Configuration]$

// $[Port C Configuration]

/* Pin PC0 is configured to Push-pull */
GPIO->P[2].MODEL = (GPIO->P[2].MODEL & ~_GPIO_P_MODEL_MODE0_MASK)
| GPIO_P_MODEL_MODE0_PUSHPULL;

/* Pin PC1 is configured to Input enabled */
GPIO->P[2].MODEL = (GPIO->P[2].MODEL & ~_GPIO_P_MODEL_MODE1_MASK)
| GPIO_P_MODEL_MODE1_INPUT;

/* Pin PC6 is configured to Push-pull */
GPIO->P[2].MODEL = (GPIO->P[2].MODEL & ~_GPIO_P_MODEL_MODE6_MASK)
| GPIO_P_MODEL_MODE6_PUSHPULL;

/* Pin PC7 is configured to Input enabled */
GPIO->P[2].MODEL = (GPIO->P[2].MODEL & ~_GPIO_P_MODEL_MODE7_MASK)
| GPIO_P_MODEL_MODE7_INPUT;
// [Port C Configuration]$

// $[Port D Configuration]

/* Pin PD4 is configured to Push-pull */
GPIO->P[3].MODEL = (GPIO->P[3].MODEL & ~_GPIO_P_MODEL_MODE4_MASK)
| GPIO_P_MODEL_MODE4_PUSHPULL;
// [Port D Configuration]$

// $[Port E Configuration]

/* Pin PE10 is configured to Push-pull */
GPIO->P[4].MODEH = (GPIO->P[4].MODEH & ~_GPIO_P_MODEH_MODE10_MASK)
| GPIO_P_MODEH_MODE10_PUSHPULL;

/* Pin PE11 is configured to Input enabled */
GPIO->P[4].MODEH = (GPIO->P[4].MODEH & ~_GPIO_P_MODEH_MODE11_MASK)
| GPIO_P_MODEH_MODE11_INPUT;
// [Port E Configuration]$

// $[Port F Configuration]
// [Port F Configuration]$

// $[Route Configuration]

/* Enable signals RX, TX */
LEUART1->ROUTE |= LEUART_ROUTE_RXPEN | LEUART_ROUTE_TXPEN;

/* Enable signals RX, TX */
USART0->ROUTE |= USART_ROUTE_RXPEN | USART_ROUTE_TXPEN;

/* Enable signals RX, TX */
USART1->ROUTE |= USART_ROUTE_RXPEN | USART_ROUTE_TXPEN;
// [Route Configuration]$

}



Комментариев нет:

Отправить комментарий