这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » (按键控制流水灯流速+6Runmode)奋斗STM32 ARM DIY进程帖

共17条 1/2 1 2 跳转至

(按键控制流水灯流速+6Runmode)奋斗STM32 ARM DIY进程帖

助工
2012-03-30 09:40:02     打赏
按键控制流水灯视频


PCB板收到,观察了一下,PCB板没有问题,下午可以焊了。先冒个泡先。。。 经过了5个小时奋斗,终于焊好了。。明天传相片。。58元值得得到这样的开发板值得。

10楼 PWM控制LED
12楼 超声波测距+串口显示

、****************************、
焊玩的时候,我有USB转串口不能下载,母头已经把5脚接地了,但是我用JTAG可以下载,另外也可以用2303下载,以后就经常用2303,这样可以解决供电,只需要一个USB插在电脑,很方便,虽然速度慢,不稳定,但是对于我们学习已经足够了,接下来就打算移植正点原子的程序,我也会一步一步分享给大家,目前跑马灯,串口已经移植了。。全部操作寄存器的。。呵呵

焊完了,还有那么多元器件,上星期买的。。呵呵



背面在来一张
背面

已经在调试中。。



关键词: 按键     控制     流水     流速     +6Runmode     奋斗         

菜鸟
2012-03-30 09:50:35     打赏
2楼
你好,你的元器件如何购买的 请赐教,谢谢

高工
2012-03-30 11:05:15     打赏
3楼
好像有款开发板就叫“奋斗”,莫非····

助工
2012-03-30 19:32:06     打赏
4楼
在中发电子网。。北京店

助工
2012-04-02 13:06:06     打赏
5楼
版主问一下,我用USB转串口不能下载程序,下载的软件用你的软件,一步一步按照你的步骤,不能下载,,我用2303就可以下载,什么问题??

助工
2012-04-03 00:40:04     打赏
6楼
自己顶一下

助工
2012-04-16 14:02:02     打赏
7楼

#include "stm32f10x.h"
#include "eval.h"
#include "SysTickDelay.h"
#include <stdio.h>

/* Private typedef -----------------------------------------------------------*/
typedef enum { FAILED = 0, PASSED = !FAILED} TestStatus;

/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
#define countof(a)   (sizeof(a) / sizeof(*(a)))

/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);

 


void GPIO_Configuration(void)

 STM_EVAL_LEDInit(LED1);
 STM_EVAL_LEDInit(LED2);
 STM_EVAL_LEDInit(LED3);
 STM_EVAL_LEDInit(LED4);
}

//系统中断管理
void NVIC_Configuration(void)
 {
 //NVIC_InitTypeDef NVIC_InitStructure;

 /* Configure the NVIC Preemption Priority Bits */ 
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //设置优先级分组:先占优先级0位,从优先级4位
 
 //设置向量表的位置和偏移
 #ifdef  VECT_TAB_RAM 
  /* Set the Vector Table base location at 0x20000000 */
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);   //向量表位于RAM
 #else  /* VECT_TAB_FLASH  */
  /* Set the Vector Table base location at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   //向量表位于FLASH
 #endif
 }

//配置系统时钟,使能各外设时钟
void RCC_Configuration(void)
{
 SystemInit(); 

//配置所有外设
void Init_All_Periph(void)

 RCC_Configuration();  
 NVIC_Configuration();
 GPIO_Configuration();
}
u8 KEY_Scan(void)
 { 
 static u8 key_up=1;//按键按松开标志 
 if(key_up&&((STM_EVAL_PBGetState(USER_BUTTOM) == 0x00)||(STM_EVAL_PBGetState(Anti_Tamper) == 0x00)||(STM_EVAL_PBGetState(WAKE_UP) == 0x01)))
  {
  delay_ms(10);//去抖动
  key_up=0;
  if (STM_EVAL_PBGetState(USER_BUTTOM) == 0x00)  //按键按下:低电平有效
   {
   return 1;
   }
  if (STM_EVAL_PBGetState(Anti_Tamper) == 0x00)  //按键按下:低电平有效
   {
   return 2;
   }
  if (STM_EVAL_PBGetState(WAKE_UP) == 0x01)  //按键按下:高电平有效
   {
   return 3;
   }
  }
  else if((STM_EVAL_PBGetState(USER_BUTTOM) == 0x01)&&(STM_EVAL_PBGetState(Anti_Tamper) == 0x01)&&(STM_EVAL_PBGetState(WAKE_UP) == 0x00)) key_up=1;     
 return 0;// 无按键按下
 }


int main(void)
 {
 u8 Key_Vlaue; 
 Init_All_Periph();
 SysTick_Initaize();
 
 STM_EVAL_LEDOff(LED1);
 STM_EVAL_LEDOff(LED2);
 STM_EVAL_LEDOff(LED3);
 STM_EVAL_LEDOff(LED4);

 while(1)
  {
 //  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); //SWJ完全失能(JTAG+SW-DP)
   STM_EVAL_PBInit(USER_BUTTOM, Mode_GPIO);   //设置按键GPIO属性
   STM_EVAL_PBInit(Anti_Tamper, Mode_GPIO);   //设置按键GPIO属性
   STM_EVAL_PBInit(WAKE_UP, Mode_GPIO);   //设置按键GPIO属性
   Key_Vlaue=KEY_Scan();//得到键值
   if(Key_Vlaue)
    {        
    switch(Key_Vlaue)
     {    
     case 1:
      STM_EVAL_LEDToggle(LED1);
      break;
     case 2:
      STM_EVAL_LEDToggle(LED2);
      break;
     case 3: 
      STM_EVAL_LEDToggle(LED1);
      STM_EVAL_LEDToggle(LED2);                
      STM_EVAL_LEDToggle(LED3);
      STM_EVAL_LEDToggle(LED4);
      break;
     }
    }
   }
}
#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *   where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif
按键控制LED


高工
2012-04-16 16:27:19     打赏
8楼

请教个问题:

在焊接的过程中发现几个问题:
BEAD 、BEAD1 和 L2 要焊接什么呢?
还有 为什么我的 R23 R24 R25 R26 R27 两端之间电阻为20K呢?难道是STM32单片机内部自带上拉电阻 还是说我的STM32的片子挂掉了呢?
还有vcc和reset#之间 哪怕在我没有焊接上啦电阻的时候,也是有20k左右的电阻,又是为什么呢?

 


专家
2012-04-16 16:47:01     打赏
9楼

赞一个!


助工
2012-04-17 23:57:08     打赏
10楼

共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]