initial Commit
This commit is contained in:
commit
6094d5af4b
111
main.c
Normal file
111
main.c
Normal file
@ -0,0 +1,111 @@
|
||||
#include <stm32f10x.h>
|
||||
#include <armv30_std.h>
|
||||
#include <Nextion.h>
|
||||
#include "nex_ui.h"
|
||||
|
||||
|
||||
//---------------------Alias-Defines------------------------
|
||||
|
||||
#define BITBAND_PERI(a,b) ((PERIPH_BB_BASE + (a-PERIPH_BASE)*32 + (b*4)))
|
||||
|
||||
#define FEHLER *((volatile unsigned long *)(BITBAND_PERI(GPIOC_ODR,1))) // V3
|
||||
#define LEERBLASEN *((volatile unsigned long *)(BITBAND_PERI(GPIOC_ODR,2))) // V4
|
||||
#define FEIN *((volatile unsigned long *)(BITBAND_PERI(GPIOC_ODR,13))) // V5
|
||||
#define GROB *((volatile unsigned long *)(BITBAND_PERI(GPIOB_ODR,7))) // V6
|
||||
#define PUMPE *((volatile unsigned long *)(BITBAND_PERI(GPIOB_ODR,6))) // V7
|
||||
|
||||
//----------------------------------------------------------
|
||||
|
||||
void SysTick_Handler()
|
||||
{
|
||||
STD_IncTick();
|
||||
}
|
||||
|
||||
void PortConfig(void)
|
||||
{
|
||||
RCC -> APB2ENR |= RCC_APB2ENR_IOPCEN; //Takt für Port C aktivieren
|
||||
RCC -> APB2ENR |= RCC_APB2ENR_IOPBEN; //Takt für Port B aktivieren
|
||||
RCC -> APB2ENR |= RCC_APB2ENR_IOPAEN; //Takt für Port A aktivieren
|
||||
|
||||
GPIOC -> CRL &= 0x00000000;
|
||||
GPIOC -> CRL = 0x22222222;
|
||||
GPIOC -> CRH = 0x22222222;
|
||||
|
||||
GPIOB -> CRL &= 0x00000000;
|
||||
GPIOB -> CRL = 0x22222222;
|
||||
|
||||
GPIOA -> CRL &= 0x00000000;
|
||||
GPIOA -> CRL = 0x22222222;
|
||||
}
|
||||
|
||||
void uart2_init(void)
|
||||
{
|
||||
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN | RCC_APB2ENR_IOPAEN;
|
||||
RCC->APB1ENR |= 0x20000; // UART2 Taktversorgung
|
||||
|
||||
GPIOA->CRL &= 0xFFFFF0FF;
|
||||
GPIOA->CRL |= 0xB00;
|
||||
|
||||
GPIOA->CRL &= 0xFFFF0FFF;
|
||||
GPIOA->CRL |= 0x4000;
|
||||
|
||||
USART2->CR1 &= ~0x1000; // M:--> Start bit, 8 Data bits, n Stop bit
|
||||
USART2->CR1 &= ~0x0400; // PCE: 0: Parity control disabled
|
||||
USART2->CR2 &= ~0x3000; // STOP: 00: 1 Stop bit afungsbil
|
||||
USART2->BRR = 0x1D4C; // set Baudrate to 9600 Baud (SysClk 72Mhz)
|
||||
USART2->CR1 |= 0x0C; // enable Receiver and Transmitter
|
||||
USART2->CR1 |= 0x2000; // Set USART Enable Bit
|
||||
|
||||
}
|
||||
|
||||
void uart2_putChar(char zeichen)
|
||||
{
|
||||
while(!((USART2->SR & 0x80) == 0x80));
|
||||
USART2->DR = zeichen;
|
||||
}
|
||||
|
||||
void uart2_putString(char* string)
|
||||
{
|
||||
while(*string)
|
||||
{
|
||||
uart2_putChar(*string++);
|
||||
}
|
||||
}
|
||||
|
||||
char uart2_getChar(void)
|
||||
{
|
||||
while(!(USART2->SR & 0x20));
|
||||
return ((char) (USART2->DR & 0xFF));
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
PortConfig();
|
||||
uart2_init();
|
||||
|
||||
Nex_Init(0);
|
||||
Init_Nex_UI();
|
||||
|
||||
uart2_putString("Dosieranlage V01 ");
|
||||
|
||||
while(1)
|
||||
{
|
||||
Nex_Event_Loop(nextlisten_list); // Touch Event ?
|
||||
wait_sys_ms(1);
|
||||
|
||||
FEHLER = 1;
|
||||
LEERBLASEN = 1;
|
||||
FEIN = 1;
|
||||
GROB = 1;
|
||||
PUMPE = 1;
|
||||
|
||||
Nex_Event_Loop(nextlisten_list);
|
||||
wait_sys_ms(1);
|
||||
|
||||
FEHLER = 0;
|
||||
LEERBLASEN = 0;
|
||||
FEIN = 0;
|
||||
GROB = 0;
|
||||
PUMPE = 0;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user