高级会员

- 积分
- 646
- 金钱
- 646
- 注册时间
- 2014-3-5
- 在线时间
- 67 小时
|
5金钱
主函数:
#include "stm32f10x_lib.h"
#include "delay.h"
#include "usart.h"
#include "sys.h"
#include "tft1.h"
#include "led.h"
int main(void)
{
u16 lcd_code;
Stm32_Clock_Init(9);
delay_init(72);
uart_init(72,9600);
led_init();
lcd_init();
led0=1;
while(1)
{
led1=~led1;
delay_ms(50);
lcd_writereg(0x0000,0x0001);
delay_ms(50);
lcd_code=lcd_readreg(0x0000);
printf("LCD ID:%x\n",lcd_code);
delay_ms(200);
}
}
TFT.c
#include <stm32f10x_lib.h>
#include "sys.h"
#include "tft1.h"
// 硬件连接:
// lcd_bl -> PC10
// lcd_cs -> PC9
// lcd_rs -> PC8
// lcd_wr -> PC7
// lcd_rd -> PC6
// lcd_data -> PB0-15
void tft_init(void)
{
RCC->APB2ENR|=1<<3; //使能GPIOB时钟
RCC->APB2ENR|=1<<4; //使能GPIOC时钟
RCC->APB2ENR|=1<<0; //使能辅助时钟
JTAG_Set(SWD_ENABLE); //使能SWD,关闭JTAG
GPIOC->CRH&=0XFFFFF000; //PORTC6~10 推挽输出
GPIOC->CRH|=0X00000333;
GPIOC->CRL&=0X00FFFFFF;
GPIOC->CRL|=0X33000000;
GPIOC->ODR|=0X07C0;
GPIOB->CRH=0X33333333; //PORTB 推挽输出
GPIOB->CRL=0X33333333;
GPIOB->ODR=0XFFFF;
}
//说明:数据是16位的,寄存器是八位
void lcd_write_reg(u8 data)
{
lcd_rs=0; //写地址
lcd_cs=0; //使能tft
lcd_data(data);
lcd_wr=0; //拉低写数据
lcd_wr=1; //上升沿把数据送到TFT
lcd_cs=1; //关闭TFT
}
void lcd_write_data(u16 data)
{
lcd_rs=1; //写数据
lcd_cs=0; //使能tft
lcd_data(data);
lcd_wr=0; //拉低写数据
lcd_wr=1; //上升沿把数据送到TFT
lcd_cs=1; //关闭TFT
}
void lcd_writereg (u8 lcd_reg,u16 reg_Value) //写寄存器地址和写寄存器值
{
lcd_write_reg(lcd_reg);
lcd_write_data(reg_Value);
}
u16 lcd_readreg(u8 lcd_reg)
{
u16 read_data;
lcd_write_reg(lcd_reg);
GPIOB->CRL=0X88888888; //PB0-7 上拉输入
GPIOB->CRH=0X88888888; //PB8-15 上拉输入
GPIOB->ODR=0XFFFF; //全部输出高
lcd_rs=1;
lcd_cs=0;
//读取数据(读寄存器时,并不需要读2次)
lcd_rd=0;
lcd_rd=1;
read_data=lcd_data_in;
lcd_cs=1;
GPIOB->CRL=0X33333333; //PB0-7 上拉输出
GPIOB->CRH=0X33333333; //PB8-15 上拉输出
GPIOB->ODR=0XFFFF; //全部输出高
return read_data;
}
TFT.h
#ifndef __TFT_H
#define __TFT_H
#include <stm32f10x_lib.h>
#include "sys.h"
// 硬件连接:
// lcd_bl -> PC10
// lcd_cs -> PC9
// lcd_rs -> PC8
// lcd_wr -> PC7
// lcd_rd -> PC6
// lcd_data -> PB0-15
#define lcd_bl PCout(10);
#define lcd_cs PCout(9);
#define lcd_rs PCout(8);
#define lcd_wr PCout(7);
#define lcd_rd PCout(6);
#define lcd_data(x) GPIOB->ODR=x;
#define lcd_data_in GPIOB->IDR;
void lcd_init(void);
//void lcd_write_reg(u8 data);
//void lcd_write_data(u16 data);
void lcd_writereg (u8 lcd_reg,u16 reg_Value); //写寄存器地址和写寄存器值
u16 lcd_readreg(u8 lcd_reg);
#endif
错误:
Build target 'Target 1'
assembling STM32F10x.s...
compiling tft_main.c...
compiling delay.c...
compiling sys.c...
compiling usart.c...
compiling tft1.c...
..\lesson\tft1\tft1.c(49): error: #29: expected an expression
..\lesson\tft1\tft1.c(50): error: #29: expected an expression
..\lesson\tft1\tft1.c(52): error: #29: expected an expression
..\lesson\tft1\tft1.c(53): error: #29: expected an expression
..\lesson\tft1\tft1.c(54): error: #29: expected an expression
..\lesson\tft1\tft1.c(59): error: #29: expected an expression
..\lesson\tft1\tft1.c(60): error: #29: expected an expression
..\lesson\tft1\tft1.c(62): error: #29: expected an expression
..\lesson\tft1\tft1.c(63): error: #29: expected an expression
..\lesson\tft1\tft1.c(64): error: #29: expected an expression
..\lesson\tft1\tft1.c(82): error: #29: expected an expression
..\lesson\tft1\tft1.c(83): error: #29: expected an expression
..\lesson\tft1\tft1.c(85): error: #29: expected an expression
..\lesson\tft1\tft1.c(86): error: #29: expected an expression
..\lesson\tft1\tft1.c(88): error: #29: expected an expression
compiling led.c...
Target not created
工程打包了!
|
|