import: pb5700_sdk-FPGA package
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright (c) 2024 Wei-Lun Hsu. All Rights Reserved.
|
||||
*/
|
||||
/** @file isr.c
|
||||
*
|
||||
* @author Wei-Lun Hsu
|
||||
* @version 0.1
|
||||
* @date 2024/09/16
|
||||
* @license
|
||||
* @description
|
||||
*/
|
||||
|
||||
|
||||
#include "isr.h"
|
||||
|
||||
//=============================================================================
|
||||
// Constant Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Macro Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Structure Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Global Data Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Private Function Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Public Function Definition
|
||||
//=============================================================================
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* Copyright (c) 2024 Wei-Lun Hsu. All Rights Reserved.
|
||||
*/
|
||||
/** @file main.c
|
||||
*
|
||||
* @author Wei-Lun Hsu
|
||||
* @version 0.1
|
||||
* @date 2024/08/29
|
||||
* @license
|
||||
* @description
|
||||
*/
|
||||
|
||||
|
||||
#include "main.h"
|
||||
#include "isr.h"
|
||||
//=============================================================================
|
||||
// Constant Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Macro Definition
|
||||
//=============================================================================
|
||||
uint16_t rxDataBuffer[256];
|
||||
uint16_t rxCounter = 0;
|
||||
uint16_t rxData = 0;
|
||||
uint16_t txData = 0;
|
||||
uint16_t errCounter = 0;
|
||||
uint16_t rightCounter = 0;
|
||||
//=============================================================================
|
||||
// Structure Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Global Data Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Private Function Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Public Function Definition
|
||||
//=============================================================================
|
||||
int main(void)
|
||||
{
|
||||
SYSCFG_ClkInitTypeDef SysClkInit = {0};
|
||||
|
||||
SysClkInit.ClkSource = SYSCFG_ClkSrc_HSI;
|
||||
SYSCFG_SysClkConfig(&SysClkInit);
|
||||
|
||||
GPIO_InitTypeDef gpio_init = {0};
|
||||
UART_InitTypeDef uart_init = {0};
|
||||
|
||||
/* ToDo: configure GPIO Pin mux of UART (Tx through PA0?) */
|
||||
gpio_init.GPIO_Pin = GPIO_Pin_00 | GPIO_Pin_01 ;
|
||||
gpio_init.GPIO_Mode = GPIO_Mode_AF;
|
||||
gpio_init.GPIO_AF_Mode = GPIO_AF_1;
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
|
||||
uart_init.BaudRate = 115200;
|
||||
uart_init.WordLength = UART_WordLength_8b;
|
||||
uart_init.StopBits = UART_StopBits_1;
|
||||
uart_init.Parity = UART_Parity_No;
|
||||
uart_init.Mode = UART_Mode_TxRx;
|
||||
UART_Init(UART0, &uart_init);
|
||||
UART_Start(UART0);
|
||||
|
||||
for(rxCounter = 0; rxCounter < 256 ;rxCounter ++)
|
||||
{
|
||||
rxDataBuffer[rxCounter] = rxCounter;
|
||||
}
|
||||
|
||||
while(1)
|
||||
{
|
||||
if(UART_GetFlagStatus(UART0, UART_FLAG_RXNE) == 1)
|
||||
{
|
||||
rxData = UART_ReceiveData(UART0);
|
||||
UART_ResetRxFIFO(UART0);
|
||||
if(rxData != rxDataBuffer[rxData])
|
||||
{
|
||||
printf("rx error");
|
||||
errCounter ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
UART_SendData(UART0,rxData);
|
||||
UART_WaitTxFifoEmpty(UART0);
|
||||
rightCounter ++ ;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user