int main(void) { RCC_Configuration(); RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); EnableClock(); //LCD_GLASS_Configure_GPIO(); //LCD_GLASS_Init(); SysTick_Config((RCC_Clocks.SYSCLK_Frequency / 2) / 1000); // Cannot exceed 16,777,215 /* Set SysTick Preemption Priority, it's a system handler rather than a regular interrupt */ //NVIC_SetPriority(SysTick_IRQn, 0x04); lcdInit(); lcdClear(); lcdXY( 2, 5 ); lcdStr( "Test"); //lcdBender(); // init rtc RTC_InitTypeDef rtcInit; rtcInit.RTC_HourFormat = RTC_HourFormat_24; rtcInit.RTC_AsynchPrediv = 0x7F; rtcInit.RTC_SynchPrediv = 0xFF; RTC_Init(&rtcInit); RTC_TimeTypeDef RTC_TimeStructure; RTC_DateTypeDef RTC_DateStructure; usart_init(); SetRTCClock(); GPIO_InitTypeDef gpio_btn; gpio_btn.GPIO_Pin = GPIO_Pin_0; gpio_btn.GPIO_Mode = GPIO_Mode_IN; gpio_btn.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &gpio_btn); int prevSecond = -1; while (1) { //uint8_t __status = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0); if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == 0x00 && !_sent) { _sent = 1; mini_snprintf( strDisp, 22, "20%02d/%02d/%02d %02d:%02d:%02d Hallo !!!", RTC_DateStructure.RTC_Year, RTC_DateStructure.RTC_Month, RTC_DateStructure.RTC_Date, RTC_TimeStructure.RTC_Hours, RTC_TimeStructure.RTC_Minutes, RTC_TimeStructure.RTC_Seconds); SendSMS("0836325001",strDisp); } if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) != 0x00 && _sent) { _sent = 0; } RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure ); RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure); if ( RTC_TimeStructure.RTC_Seconds != prevSecond ) { lcdClear(); mini_snprintf( strDisp, 11, "20%02d/%02d/%02d", RTC_DateStructure.RTC_Year, RTC_DateStructure.RTC_Month, RTC_DateStructure.RTC_Date); lcdXY( 0, 0 ); lcdStr( strDisp); mini_snprintf( strDisp, 10, "%02d:%02d:%02d", RTC_TimeStructure.RTC_Hours, RTC_TimeStructure.RTC_Minutes, RTC_TimeStructure.RTC_Seconds ); lcdXY( 0, 1 ); lcdStr( strDisp); //LCD_GLASS_Clear(); //LCD_GLASS_DisplayString( strDisp ); prevSecond = RTC_TimeStructure.RTC_Seconds; } /*if ( usart_available() ) // data available { //usart_print( "Data Available: " ); uint8_t ch = usart_read(); //usart_write(ch); //usart_print( "\r\n" ); SendSMS("836325001","Wynand"); }*/ } return 0; }
int main(void) { GPIO_Configuration(); EnableClock(); // tick every ms RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config((RCC_Clocks.SYSCLK_Frequency / 2) / 1000); // Cannot exceed 16,777,215 /* Set SysTick Preemption Priority, it's a system handler rather than a regular interrupt */ NVIC_SetPriority(SysTick_IRQn, 0x04); static int led_state=0; while (1) { // port output - alternate between green and blue led_state = !led_state; GPIO_WriteBit(GPIOB, GPIO_Pin_7, led_state ? Bit_SET : Bit_RESET); GPIO_WriteBit(GPIOB, GPIO_Pin_6, led_state ? Bit_RESET : Bit_SET ); delayms(1000); } }