david otitoju
/
elec350
h
main.h@0:67db5ce17397, 2018-01-09 (annotated)
- Committer:
- davidotitoju
- Date:
- Tue Jan 09 19:48:25 2018 +0000
- Revision:
- 0:67db5ce17397
expo;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |