拿到板子之后很顺利就调通了Mini+7寸电容触屏的实验,大赞原子兄提供的丰富资料和视频。
http://www.thoughts-of.me/entry.php?id=470
这里我想请教两个调试当中遇到的问题:
1. 在串口部分的初始化配置中,程序是给port A9作为输出的TX口, port A10作为浮动输入的RX口:
/* Configure USART Tx as alternate function push-pull */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure USART Rx as input floating */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIO_InitStructure);
但是我看了Mini板的原理图,加上条线冒之后不是应该port A9为RX 而 port A10为TX口吗? 难道哪里弄反了吗?
2. 一个很神奇的问题,在电容触屏扩展实验源文件的lcd.h里面有这样一个宏:
#define LCD_WR_DATA(data) \
{LCD_RS_SET;\
LCD_CS_CLR;\
GPIOB->ODR = data;\
LCD_WR_CLR;\
LCD_WR_SET;\
LCD_CS_SET;}
我如果把他注释掉,用函数实现就清屏的时候颜色只能 有一小个竖条改变,我想可能是写成函数速度慢的原因吧,不过我把以上宏改成:
#define LCD_WR_DATA(data) \
LCD_RS_SET;\
LCD_CS_CLR;\
GPIOB->ODR = data;\
LCD_WR_CLR;\
LCD_WR_SET;\
LCD_CS_SET
居然也不行!难道那两个大括号有什么神秘的作用吗?!
本人学生一枚,很多知识可能没有学扎实,还请大家帮助!
|