h

Dependencies:   mbed

Committer:
davidotitoju
Date:
Tue Jan 09 19:48:25 2018 +0000
Revision:
0:67db5ce17397
expo;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davidotitoju 0:67db5ce17397 1 #include "main.h"
davidotitoju 0:67db5ce17397 2 #include "stm32f0xx_conf.h"
davidotitoju 0:67db5ce17397 3 uint32_t TickValue=0;
davidotitoju 0:67db5ce17397 4
davidotitoju 0:67db5ce17397 5 #define RS GPIO_Pin_13 // RS is named as Port 13
davidotitoju 0:67db5ce17397 6 #define RW GPIO_Pin_14 // RW is named as Port 14
davidotitoju 0:67db5ce17397 7 #define EN GPIO_Pin_15 // EN is named as Port 15
davidotitoju 0:67db5ce17397 8
davidotitoju 0:67db5ce17397 9 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 10 // Function Name : delay_ms
davidotitoju 0:67db5ce17397 11 // Description : delay for some time in ms unit(accurate)
davidotitoju 0:67db5ce17397 12 // Input : n_ms is how many ms of time to delay
davidotitoju 0:67db5ce17397 13 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 14 void TimingDelay_Decrement(void)
davidotitoju 0:67db5ce17397 15 {
davidotitoju 0:67db5ce17397 16 TickValue--;
davidotitoju 0:67db5ce17397 17 }
davidotitoju 0:67db5ce17397 18
davidotitoju 0:67db5ce17397 19 void delay_ms(uint32_t n_ms)
davidotitoju 0:67db5ce17397 20 {
davidotitoju 0:67db5ce17397 21 SysTick_Config(8000*PLL_MUL_X - 30);
davidotitoju 0:67db5ce17397 22 TickValue = n_ms;
davidotitoju 0:67db5ce17397 23 while(TickValue == n_ms)
davidotitoju 0:67db5ce17397 24 ;
davidotitoju 0:67db5ce17397 25 SysTick_Config(8000*PLL_MUL_X);
davidotitoju 0:67db5ce17397 26 while(TickValue != 0)
davidotitoju 0:67db5ce17397 27 ;
davidotitoju 0:67db5ce17397 28 }
davidotitoju 0:67db5ce17397 29 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 30 // Function Name : Init GPIO
davidotitoju 0:67db5ce17397 31 // Description : pins ,port clock & mode initialization.
davidotitoju 0:67db5ce17397 32 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 33 void initgpio()
davidotitoju 0:67db5ce17397 34 {
davidotitoju 0:67db5ce17397 35 GPIO_InitTypeDef GPIO_InitStructure;
davidotitoju 0:67db5ce17397 36 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOC, ENABLE);
davidotitoju 0:67db5ce17397 37
davidotitoju 0:67db5ce17397 38 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ;
davidotitoju 0:67db5ce17397 39 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
davidotitoju 0:67db5ce17397 40 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
davidotitoju 0:67db5ce17397 41 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
davidotitoju 0:67db5ce17397 42 GPIO_Init(GPIOC, &GPIO_InitStructure);
davidotitoju 0:67db5ce17397 43
davidotitoju 0:67db5ce17397 44 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
davidotitoju 0:67db5ce17397 45 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
davidotitoju 0:67db5ce17397 46 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
davidotitoju 0:67db5ce17397 47 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
davidotitoju 0:67db5ce17397 48 GPIO_Init(GPIOA, &GPIO_InitStructure);
davidotitoju 0:67db5ce17397 49
davidotitoju 0:67db5ce17397 50
davidotitoju 0:67db5ce17397 51 }
davidotitoju 0:67db5ce17397 52 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 53 // Function Name : s_init
davidotitoju 0:67db5ce17397 54 // Description : Send Instruction Function (RS=0 & RW=0)
davidotitoju 0:67db5ce17397 55 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 56
davidotitoju 0:67db5ce17397 57 void s_init()
davidotitoju 0:67db5ce17397 58 {
davidotitoju 0:67db5ce17397 59 GPIOC->BRR=RS;
davidotitoju 0:67db5ce17397 60 GPIOC->BRR=RW;
davidotitoju 0:67db5ce17397 61 }
davidotitoju 0:67db5ce17397 62 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 63 // Function Name : s_data
davidotitoju 0:67db5ce17397 64 // Description : Send Data Select routine(RS=1 & RW=0)
davidotitoju 0:67db5ce17397 65 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 66
davidotitoju 0:67db5ce17397 67 void s_data()
davidotitoju 0:67db5ce17397 68 {
davidotitoju 0:67db5ce17397 69 GPIOC->BSRR=RS;
davidotitoju 0:67db5ce17397 70 GPIOC->BRR=RW;
davidotitoju 0:67db5ce17397 71 }
davidotitoju 0:67db5ce17397 72 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 73 // Function Name : s_latch
davidotitoju 0:67db5ce17397 74 // Description : Latch Data/Instruction on LCD Databus.
davidotitoju 0:67db5ce17397 75 //------------------------------------------------------------------------------
davidotitoju 0:67db5ce17397 76
davidotitoju 0:67db5ce17397 77 void s_latch()
davidotitoju 0:67db5ce17397 78 {
davidotitoju 0:67db5ce17397 79 GPIOC->BSRR=EN;
davidotitoju 0:67db5ce17397 80 delay_ms(10);
davidotitoju 0:67db5ce17397 81 GPIOC->BRR=EN;
davidotitoju 0:67db5ce17397 82 delay_ms(10);
davidotitoju 0:67db5ce17397 83 }