这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 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

/* 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 跳转至

回复

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