int main() { /* Enable clock for PORTC */ RCC->APB2ENR = (RCC_APB2ENR_IOPCEN | RCC_APB2ENR_IOPAEN | RCC_APB2ENR_ADC1EN); GpioConfig(GPIOC, GPIO_Pin_13, gpio_mode_output_PP_2MHz); //GpioConfig(GPIOC, GPIO_Pin_13, gpio_mode_output_PP_2MHz); GpioConfig(GPIOA, GPIO_Pin_0, gpio_mode_input_analog); /*Wake up ADC */ ADC1->CR2 = ADC_CR2_ADON|ADC_CR2_JEXTTRIG|ADC_CR2_JEXTSEL_0|ADC_CR2_JEXTSEL_1|ADC_CR2_JEXTSEL_2; // select mode: JSWSTART to start conversion //JSWSTART to start conversion //ADC1->JSQR = ADC_JSQR_JSQ4_4 for(delay = 100000; delay; delay--); /* Select channel 0 */ //ADC1->SQR3 = 0; SysTick_Config(8000000*0.5); while(1){ GPIOC->BSRR = GPIO_BSRR_BS13; // stan wysoki for(delay = 1000000; delay; delay--){}; GPIOC->BSRR = GPIO_BSRR_BR13; // stan niski /* Start conversion */ //ADC1->CR2 = ADC_CR2_JSWSTART|ADC_CR2_SWSTART; //ADC1->CR2 = ADC_CR2_ADON; /* Wait for result */ // while(!(ADC1->SR & ADC_SR_JEOC)) // adc_read = ADC1->DR; for(delay = 1000000; delay; delay--){}; } }
void JtagInitGpio () { js_printf("===== Initializing PS GPIO pins...\n\r"); XGpioPs_Config *ptrConfigPtrPs = XGpioPs_LookupConfig(0); XGpioPs_CfgInitialize(&structXGpioPs,ptrConfigPtrPs,ptrConfigPtrPs->BaseAddr); /* Unlock the SLCR block */ Xil_Out32 (0xF8000000 + 0x8, 0xDF0D); GpioConfig((GPIO_BASE_ADDR+(g_mio_jtag_tdi*4)),GPIO_MASK_VAL, GPIO_TDI_VAL); GpioConfig((GPIO_BASE_ADDR+(g_mio_jtag_tdo*4)),GPIO_MASK_VAL, GPIO_TDO_VAL); GpioConfig((GPIO_BASE_ADDR+(g_mio_jtag_tck*4)),GPIO_MASK_VAL, GPIO_TCK_VAL); GpioConfig((GPIO_BASE_ADDR+(g_mio_jtag_tms*4)),GPIO_MASK_VAL, GPIO_TMS_VAL); GpioConfig((GPIO_BASE_ADDR+(g_mio_jtag_mux_sel*4)),GPIO_MASK_VAL, GPIO_MUX_SEL_VAL); XGpioPs_SetDirectionPin(&structXGpioPs,MIO_TCK,1); XGpioPs_SetOutputEnablePin(&structXGpioPs,MIO_TCK,1); XGpioPs_SetDirectionPin(&structXGpioPs,MIO_TMS,1); XGpioPs_SetOutputEnablePin(&structXGpioPs,MIO_TMS,1); XGpioPs_SetDirectionPin(&structXGpioPs,MIO_TDI,1); XGpioPs_SetOutputEnablePin(&structXGpioPs,MIO_TDI,1); XGpioPs_SetDirectionPin(&structXGpioPs,MIO_MUX_SELECT,1); XGpioPs_SetOutputEnablePin(&structXGpioPs,MIO_MUX_SELECT,1); XGpioPs_WritePin(&structXGpioPs, MIO_MUX_SELECT, g_mux_sel_def_val); XGpioPs_SetDirectionPin(&structXGpioPs,MIO_TDO,0); XGpioPs_SetOutputEnablePin(&structXGpioPs,MIO_TDO,0); } /* initGpio() */
void InitRtc(void) { GpioConfig(DS1302_RST_PIN, OUTPUT); GpioConfig(DS1302_SCLK_PIN, OUTPUT); RtcEnableWrite(); RTC_STATUS nRtcStaus = CheckRtcStatus(); if (RTC_STOPPED == nRtcStaus) { DiableCharge(); StartRtcClock(); } }
void InitFan(void) //Initaling the fan { GpioConfig(FAN_POWER_CONTROL_PIN,OUTPUT); GpioConfig(FAN_PWM_PIN,OUTPUT); //Seting the PWM Output for controling the motor nrf_pwm_config_t pwm_config = PWM_DEFAULT_CONFIG; pwm_config.mode = PWM_MODE_MTR_100; // 0-100 resolution, 20 kHz PWM frequency, 4MHz timer frequency (prescaler 2) pwm_config.num_channels = 1; //Just one Channel pwm_config.gpio_num[0] = FAN_PWM_PIN; nrf_pwm_init(&pwm_config); // Initialize the PWM library OpenFan(60); //60-duty-cycle as default }
void MotorCfg(motor_t * motor,sctPinId sct_id,gpioNumber_t n){ motor->pwm_pin.id = sct_id; motor->pwm_pin.duty_cycle = 0; motor->dir_pin.n = n; motor->dir_pin.dir = GPIO_OUT; motor->dir_pin.init_st = GPIO_LOW; SctConfig(&motor->pwm_pin); // Configures the SCTimer GpioConfig(&motor->dir_pin); // Configures the GPIO to control the directions }
static __INLINE void RtcWriteByte(uint8_t nByte) { int i; GpioConfig(DS1302_IO_PIN, OUTPUT); for (i = 0; i < BYTE_BIT_COUNT; ++i) { RtcWriteClk(LOW); RtcShortDelay(); RtcWriteIo(nByte & 0x01); nByte = nByte >> 1; RtcWriteClk(HIGH); RtcShortDelay(); } }
void InitLed(void) { if(HIGH_LEVEL_TO_LIGHT_LED) { on_stat = 1; off_stat = 0; } else { on_stat = 0; off_stat = 1; } GpioConfig(TEST_LED0,OUTPUT); GpioConfig(TEST_LED1,OUTPUT); GpioWrite(TEST_LED0,off_stat); GpioWrite(TEST_LED1,off_stat); InitWarnLed(); CloseWarnLed(); InitAQILed(); CloseAQILed(); }
static __INLINE uint8_t RtcReadByte(void) { int i; GpioConfig(DS1302_IO_PIN, INPUT); uint8_t nByte = 0; for (i = 0; i < BYTE_BIT_COUNT; ++i) { nByte = nByte >> 1; RtcWriteClk(LOW); RtcShortDelay(); if (UP == RtcReadIo()) nByte += 0x80; RtcWriteClk(HIGH); RtcShortDelay(); } return nByte; }
static __INLINE void InitWarnLed(void) { GpioConfig(WARN_LED_RED_PIN,OUTPUT); GpioConfig(WARN_LED_GREEN_PIN,OUTPUT); }
static __INLINE void InitAQILed(void) { GpioConfig(AQI_LED_RED_PIN,OUTPUT); GpioConfig(AQI_LED_GREEN_PIN,OUTPUT); GpioConfig(AQI_LED_BLUE_PIN,OUTPUT); }