Давно прикупил себе Stm32F3discovery, но так и не начал изучать ее. А вот сейчас возникла необходимость подать на одну деталюшку меандр. Из доступного только эта плата. Когда-то возился с AVR-ми и немного ориентируюсь в коде. Нашел в интернете замечательный пример работы со светодиодами на данной платке и интуитивно переделал код автора статьи под свои нужды. Меандр то я на выходе получил, но почему-то он нестабилен (теряет красивую форму) и амлитудой всего 0.4 вольта. Я ожидал всеже получить 3.3 вольта на выходе и не очень понимаю почему так получилось. Объясните пожалуйста как поправить код, чтоб получить четкий 3.3 вольтовый меандр на выходе.
Код: Выделить всё
/******************************************************/
#include "stm32f30x_gpio.h"
#include "stm32f30x_rcc.h"
#include "stm32f30x.h"
/******************************************************/
/******************************************************/
#define DELAY_TIME 5000
/******************************************************/
GPIO_InitTypeDef gpio;
unsigned int i;
/******************************************************/
/******************************************************/
void simpleDelay(unsigned int delayTime)
{
for (i = 0; i < delayTime; i++);
}
/******************************************************/
/******************************************************/
void initAll()
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOE, ENABLE);
gpio.GPIO_Mode = GPIO_Mode_OUT;
gpio.GPIO_Pin = GPIO_Pin_0;
GPIO_Init(GPIOE, &gpio);
}
/******************************************************/
/******************************************************/
int main()
{
initAll();
while(1)
{
GPIO_SetBits(GPIOE, GPIO_Pin_0);
simpleDelay(DELAY_TIME);
GPIO_ResetBits(GPIOE, GPIO_Pin_0);
simpleDelay(DELAY_TIME);
}
}
/******************************************************/

