GadgetSeed
0.9.6
|
STM32 GPIO LCD (Arduino LCD Shield) [詳解]
#include "sysconfig.h"
#include "device.h"
#include "tprintf.h"
#include "tkprintf.h"
#include "system.h"
#include "device/vio_ioctl.h"
#include "task/syscall.h"
#include "task/mutex.h"
#include "sysevent.h"
#include "timer.h"
#include "stm32f4xx_hal.h"
#include "dkprintf.h"
#include "device/ts_ioctl.h"
マクロ定義 | |
#define | lock() mutex_lock(&gpio_mutex, 0/*1000*/) |
#define | unlock() mutex_unlock(&gpio_mutex) |
#define | DATA_TO_GPIOA_BSRR(data) |
#define | DATA_TO_GPIOB_BSRR(data) |
#define | DATA_TO_GPIOC_BSRR(data) |
#define | LCD_PIXEL_3BYTES |
#define | SIZEOFSTACK (1024*1) |
関数 | |
static void | MX_GPIO_Init (void) |
static void | rd_active (void) |
static void | rd_idle (void) |
static void | wr_active (void) |
static void | wr_idle (void) |
static void | cd_command (void) |
static void | cd_data (void) |
static void | set_reset (unsigned long arg) |
static void | set_cs (unsigned long arg) |
static void | dir_out_data (void) |
static void | dir_in_data (void) |
static unsigned char | read_8bits (void) |
static void | write_8bits (unsigned char data) |
static int | gpio_read (struct st_device *dev, void *data, unsigned int size) |
static int | gpio_write (struct st_device *dev, const void *data, unsigned int size) |
static void | write_fore_word (void) |
static void | write_back_word (void) |
static int | gpio_ioctl (struct st_device *dev, unsigned int com, unsigned int arg, void *param) |
static void | MX_ADC1_Init (void) |
void | HAL_ADC_MspInit (ADC_HandleTypeDef *hadc) |
unsigned long | read_pos_x (void) |
unsigned int | read_pos_y (void) |
static void | ts_timer_func (void *sp, unsigned long long systime) |
static int | ts_task (char *arg) |
static int | gpio_register (struct st_device *dev, char *param) |
static int | ts_analog_ioctl (struct st_device *dev, unsigned int com, unsigned int arg, void *param) |
変数 | |
static unsigned char | fore_color_h = 0 |
static unsigned char | fore_color_l = 0 |
static unsigned char | back_color_h = 0 |
static unsigned char | back_color_l = 0 |
static unsigned long | f_bsrr_a_h |
static unsigned long | f_bsrr_b_h |
static unsigned long | f_bsrr_c_h |
static unsigned long | f_bsrr_a_l |
static unsigned long | f_bsrr_b_l |
static unsigned long | f_bsrr_c_l |
static unsigned long | b_bsrr_a_h |
static unsigned long | b_bsrr_b_h |
static unsigned long | b_bsrr_c_h |
static unsigned long | b_bsrr_a_l |
static unsigned long | b_bsrr_b_l |
static unsigned long | b_bsrr_c_l |
$gsc タッチセンサデバイスを有効にする | |
static struct st_mutex | gpio_mutex |
ADC_HandleTypeDef | hadc1 |
static struct st_tcb | tcb |
static unsigned int | stack [SIZEOFSTACK/sizeof(unsigned int)] |
static int | ts_mxl = 16 |
static int | ts_xl = 576 |
static int | ts_mxr = (GSC_GRAPHICS_DISPLAY_WIDTH-16) |
static int | ts_xr = 3667 |
static int | ts_myt = 16 |
static int | ts_yt = 659 |
static int | ts_myb = (GSC_GRAPHICS_DISPLAY_HEIGHT-16) |
static int | ts_yb = 3446 |
static volatile int | flg_touch = 0 |
static int | lpos_x |
static int | lpos_y |
static int | ts_low_val [2] |
const struct st_device | lcd_gpio_device |
const struct st_device | ts_analog_device |
STM32 GPIO LCD (Arduino LCD Shield)
Registor width 16 : ILI9325 (aitendo UL024TF) Registor width 8 : ILI9341 (Kuman K60)
PA0 LCD_RD PA1 LCD_WR PA4 LCD_RS YP(Analog IN) ADC1 IN4 PB0 LCD_CS XM(Analog IN) ADC1 IN8 PC1 LCD_RESET
PA9 LCD_D0 YM(Digital) PC7 LCD_D1 XP(Digital) PA10 LCD_D2 PB3 LCD_D3 PB5 LCD_D4 PB4 LCD_D5 PB10 LCD_D6 PA8 LCD_D7
gpio_lcd_8bit.c に定義があります。
#define DATA_TO_GPIOA_BSRR | ( | data | ) |
gpio_lcd_8bit.c の 73 行目に定義があります。
#define DATA_TO_GPIOB_BSRR | ( | data | ) |
gpio_lcd_8bit.c の 83 行目に定義があります。
#define DATA_TO_GPIOC_BSRR | ( | data | ) |
gpio_lcd_8bit.c の 95 行目に定義があります。
|
static |
!! MUTEXに問題ありそう(2重Lock/Unlockを検出する場合有り)
gpio_lcd_8bit.c の 985 行目に定義があります。
const struct st_device lcd_gpio_device |
gpio_lcd_8bit.c の 1079 行目に定義があります。
const struct st_device ts_analog_device |
gpio_lcd_8bit.c の 1131 行目に定義があります。