你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

用最新库玩转智林STM32开发板(之九)------在真彩屏上显示方向键的状态

[复制链接]
ddllxxrr 提问时间:2009-5-2 13:38 /
有智林板的可以把所有文件考到一个目录下边,工程非常简单只包括三个文件
main.C//主文件
TFT018.c//显示有关文件
STM32F10XR.LIB//这个文件在MDK目录下边很好找
智林开发板板载上,下,左,右,方向键,若直接按,就是OK,本程序只是设置好上拉电阻输入就行,
运行时可即时显示用户的按键,本例有HEX可直接下载到芯片里边
QQ群:77219145

以下是主程序:

int main(void)
{
#ifdef DEBUG
  debug();
#endif
  /* System Clocks Configuration */
  RCC_Configuration();
  /* NVIC Configuration */
  NVIC_Configuration();
  
  /* GPIO Configuration */
  GPIO_Configuration();

  /* Time base configuration */
  TIM_TimeBaseStructure.TIM_Period = 0x5000;         
  TIM_TimeBaseStructure.TIM_Prescaler = 0x00;      
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;   
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
  /* Output Compare Toggle Mode configuration: Channel1 */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse =CCR3_Val ;
  TIM_OC3Init(TIM2, &TIM_OCInitStructure);
   
  /* TIM enable counter */
  TIM_Cmd(TIM2, ENABLE);
  LCD_Init();
  LCD_Clear_Screen(Blue);
  
  while(1)
  {
   
  for(;;) {
    Font = 0;
    LCD_PutString(30,0,"STM32F 开发板",Cyan,Blue);
    LCD_PutString(30,16,"GPIO 输入演示",Red,Yellow);
    Font = 1;
    LCD_PutString(38,32,"Version 1.0",Green,Blue);
    Font = 0;
    LCD_PutString(10,94,"智林测控技术研究所",Yellow,Blue);
    LCD_PutString(36,111,"www.the0.net",Magenta,Blue);
    if (((GPIOB->IDR & JOYSTICK) == JOYSTICK ))  {   // Check if JOYSTICK key is pressed
      GPIOB->ODR &= ~LED;                         // switch off LED
      }
else  {                                       // JOYSTICK key is pressed
      GPIOB->ODR |=  LED;                         // switch on LED
   }
    if (((GPIOB->IDR & UP) == 0 ))              // Check if UP is pressed
      LCD_PutString(48,40,"上",Yellow,Red);
    else
      LCD_PutString(48,40,"上",Red,Yellow);
    if (((GPIOB->IDR & DOWN) == 0 ))            // Check if DOWN is pressed
      LCD_PutString(48,76,"下",Yellow,Red);
else
      LCD_PutString(48,76,"下",Red,Yellow);
    if (((GPIOB->IDR & LEFT) == 0 ))            // Check if LEFT is pressed
   LCD_PutString(30,58,"左",Yellow,Red);
else
   LCD_PutString(30,58,"左",Red,Yellow);
    if (((GPIOB->IDR & RIGHT) == 0 ))           // Check if RIGHT is pressed
      LCD_PutString(66,58,"右",Yellow,Red);
else
      LCD_PutString(66,58,"右",Red,Yellow);
    if (((GPIOB->IDR & OK) == 0 ))              // Check if OK is pressed
      LCD_PutString(48,58,"OK",Yellow,Red);
else
      LCD_PutString(48,58,"OK",Red,Yellow);

    if (((GPIOC->IDR & BP2) == 0 ))            // Check if BP2 is not pressed
      LCD_PutString(100,40,"BP2",Yellow,Red);
else
      LCD_PutString(100,40,"BP2",Red,Yellow);
    if (((GPIOA->IDR & BP3) == 0 ))            // Check if BP3 is not pressed
      LCD_PutString(100,76,"BP3",Yellow,Red);
else
      LCD_PutString(100,76,"BP3",Red,Yellow);
    }
  }  
}
zl9.JPG
zl9.rar (21.95 KB, 下载次数: 19)
收藏 评论0 发布时间:2009-5-2 13:38

举报

0个回答

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版