0
Кнопочные IR пульты уже вышли из моды, надо бы написать статейку про пульт на модулях nRF24L01 и акселерометрах.
  • avatar
  • mrcrook
  • 10 сентября 2014, 17:05
0
как я уже сказал, на мой сугубо личный взгляд внешний ЦАП это лишнее. А поиграться с внешним ЦАП'ом я уже поигрался на stm32f4 discovery.
  • avatar
  • mrcrook
  • 11 сентября 2013, 18:34
0
доставаемость у него не очень. В России его не найти, заказывать на ибей это 30-60 дней ожидания.
  • avatar
  • mrcrook
  • 10 сентября 2013, 09:40
0
  • avatar
  • mrcrook
  • 10 сентября 2013, 09:16
0
нда..., видео не вставляется коментарии не редактируются.
вот то что получилось у меня на stm32f4 youtu.be/DQxFZtrTriU
  • avatar
  • mrcrook
  • 10 сентября 2013, 09:13
0
Отличная статься.
Подобное под F4 я собирал еще в 2012 году, вот что вышло

Декодер тот же Helix. Проект был позаимствован у одного японца shuji009.blog.eonet.jp/default/2012/03/stm32f4mp32-30df.html
Музыку проигрывает с флешки, качество вполне достойное.

Единственное на мой взгляд использовать внешний ЦАП слишком накладно, уж больно они дорогие. Дешевле воспользоваться VS'кой или другими кодеками. При этом еще и нагрузка на процессор резко снизится :) Самый на мой взгляд оптимальный вариант делать на встроенном АЦП, качество может и похуже, но место и деньги экономит.

Еще раз огромное спасибо за статью, будет время обязательно соберу.
  • avatar
  • mrcrook
  • 10 сентября 2013, 09:11
-4
и да спасибо вам всем охуительным знатокам stm32 за помощь. Никто не мог сказать, что у stm32f101rb TIM6 в природе нет.
  • avatar
  • mrcrook
  • 23 февраля 2013, 14:26
-1
если для помощи есть специально предназначенное для этого место (я так понимаю форум) то почему об этом нигде не написано да покрупнее, чтобы не создавались такие темы? Я понимаю, что вы все тут такие нев3ебенные программеры и с детства владеете в совершенстве навыками программирования на С.
Вот вы все пишите, что не переносите такие темы «что как и почему?!». Окей я такие темы тоже не люблю, что мешает пройти мимо и не привлекать дополнительного внимания? Ну хотите можно заминусовать если уж так в ж0пе сверлит.
Какой смысл писать на форуме где никого не бывает, кроме всех тех начинающих, которых вы вот таким способом посылаете на форум?! И не надо писать, что вы туда регулярно заглядываете, вы уже сами все написали: «мы терпеть не можем подобные темы». Ясно что на форуме на мой вопрос ближайшие пару недель никто не ответит.

Ну и на последок минусуйте сколько хотите, мне плевать на цифры в личном кабинете. Будет нужда написать нормальную статью я без проблем создам новую учетку. Но думаю после такого негативного отношения такого желания не возникнет.

спасибо за внимание.
  • avatar
  • mrcrook
  • 23 февраля 2013, 13:58
-1
ага, а вы можно подумать не быдло уважаемый?! где написано что нельзя постить вопросы в личном блоге? Да раздел справка я не читал, и в необходимости тега не знал. в остальном вы флудорасты не правы мне кажется.
  • avatar
  • mrcrook
  • 23 февраля 2013, 10:07
-1
uart*
  • avatar
  • mrcrook
  • 22 февраля 2013, 19:50
-1
efhn работает без проблем. не запускается Таймер почему то.
  • avatar
  • mrcrook
  • 22 февраля 2013, 19:50
0
у меня нет никаких проблем с лагами. 10 fps точно выдает.
  • avatar
  • mrcrook
  • 10 февраля 2013, 22:24
0
По мне использовать дешевый цифровой микроскоп гораздо удобнее. Из плюсов гораздо большее увеличение, что позволяет просмотреть все соединения, из минусов очень близко расположен к плате, и неплохо бы добавить авто фокус было бы шикарно.
  • avatar
  • mrcrook
  • 10 февраля 2013, 22:20
0
p.s. Удалось запустить Saleae logic (естественно прошитый под него). USBee так и отказывается подхватывать девайсину
0
Время доброе, купил я себе у братьев китайцев вот такую платку на ней стоял eeprom at29с128 при попытке прошить его писал Falled. Подумал может епром накуренный запаял туда at2416b (от старой валяющейся без дела оперативки). На удивление епром зашился, но после реконекта CyControl’е перестал видеть платку. В системе появился usb контроллер PID 0014 VID 08A9 (система не смогла обнаружить драйвера на него, в ручную драйвера киклона тоже не хочет есть) ну и в USBee естественно тоже не подхватилась платка. Подскажите в что делать? в чем может быть проблема и почему киклон перестал видеть плату.
0
попробовал отправить просто FF получил на компе FC (понял что дело все таки в скорости). видимо как то криво затактирован usart. потыкал скорости в терминале при 38400 бод все заработало. будем разбираться.

  • avatar
  • mrcrook
  • 01 февраля 2012, 04:30
0
маленько причесал код. теперь он выглядит вот так, но проблему не решило =(

#include "stm32f4xx.h"

void vUSART2_Init( void ) {
    USART_ClockInitTypeDef USART_ClockInitStruct;
    USART_InitTypeDef USART_InitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;

    // Enable needed clocks for uart.
    RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2, ENABLE );
    RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA, ENABLE );

    // Make sure you use 'GPIO_PinSource2' and NOT 'GPIO_Pin_2'.  Using the
    // latter will not work!
    GPIO_PinAFConfig( GPIOA, GPIO_PinSource2, GPIO_AF_USART2 );
    GPIO_PinAFConfig( GPIOA, GPIO_PinSource3, GPIO_AF_USART2 );

    // Setup Tx / Rx pins.
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;			// Tx Pin
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_Init( GPIOA, &GPIO_InitStructure );
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;			// Rx Pin
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
    GPIO_Init( GPIOA, &GPIO_InitStructure );

    // Make sure syncro clock is turned off.
    USART_ClockStructInit( &USART_ClockInitStruct );
    USART_ClockInit( USART2, &USART_ClockInitStruct  );

    // Setup transmit complete irq.
    USART_ITConfig( USART2, USART_IT_TC, ENABLE );

    // Use defaults (except baud rate).
    USART_StructInit( &USART_InitStructure );
    USART_InitStructure.USART_BaudRate = 115200;
    USART_Init( USART2, &USART_InitStructure );
    USART_Cmd( USART2, ENABLE );

    /*NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);*/
}

void Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}

void print(const char* str)
{
	int i = 0; while(str[i]) {
		i++; USART_SendData(USART2, str[i]);
		while (USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET) {}
	}
}

int main(void)
{

		vUSART2_Init();
		Delay(2000000);
        print("Hi_world!!!/r/n");
		Delay(2000000);
        while(1)
        {
        	;;
        }
}


  • avatar
  • mrcrook
  • 30 января 2012, 15:19
0
Прерывание настроено на прием данных usart, но в данной программе не используется (можно удалять ничего не измениться). baud rate и другие настройки порта на компе настроены 100% верно (в готовом freertos) все работает нормально. конфиг контроллера вроде тоже по даташиту (взят из заготовки атолик, под мою платку).
*=============================================================================
  *=============================================================================
  *        Supported STM32F4xx device revision    | Rev A
  *-----------------------------------------------------------------------------
  *        System Clock source                    | PLL (HSE)
  *-----------------------------------------------------------------------------
  *        SYSCLK(Hz)                             | 168000000
  *-----------------------------------------------------------------------------
  *        HCLK(Hz)                               | 168000000
  *-----------------------------------------------------------------------------
  *        AHB Prescaler                          | 1
  *-----------------------------------------------------------------------------
  *        APB1 Prescaler                         | 4
  *-----------------------------------------------------------------------------
  *        APB2 Prescaler                         | 2
  *-----------------------------------------------------------------------------
  *        HSE Frequency(Hz)                      | 8000000
  *-----------------------------------------------------------------------------
  *        PLL_M                                  | 8
  *-----------------------------------------------------------------------------
  *        PLL_N                                  | 336
  *-----------------------------------------------------------------------------
  *        PLL_P                                  | 2
  *-----------------------------------------------------------------------------
  *        PLL_Q                                  | 7
  *-----------------------------------------------------------------------------
  *        PLLI2S_N                               | NA
  *-----------------------------------------------------------------------------
  *        PLLI2S_R                               | NA
  *-----------------------------------------------------------------------------
  *        I2S input clock                        | NA
  *-----------------------------------------------------------------------------
  *        VDD(V)                                 | 3.3
  *-----------------------------------------------------------------------------
  *        High Performance mode                  | Enabled
  *-----------------------------------------------------------------------------
  *        Flash Latency(WS)                      | 5
  *-----------------------------------------------------------------------------
  *        Prefetch Buffer                        | OFF
  *-----------------------------------------------------------------------------
  *        Instruction cache                      | ON
  *-----------------------------------------------------------------------------
  *        Data cache                             | ON
  *-----------------------------------------------------------------------------
  *        Require 48MHz for USB OTG FS,          | Enabled
  *        SDIO and RNG clock                     |
  *-----------------------------------------------------------------------------
  *=============================================================================
  ****************************************************************************** 

осциллографа под рукой нет чтобы ткнуть к сожалению
  • avatar
  • mrcrook
  • 30 января 2012, 14:36
0
результат этой программы
  • avatar
  • mrcrook
  • 27 января 2012, 20:28
0
ковыряю платку stm32f4 discovery пытаюсь подцепить вывод.чтение в uart. вроде все нормально, но почему то вместо данных выводит какой то мусор в виде 2х букв «Ю» и «Э». uart в компе настроен правильно BaudRate = 115200; WordLength = 8b. привожу кусок кода.
/* Includes */
#include "stm32f4xx.h"

uint8_t usa;

int main(void)
{
	//configure clock for USART
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
	//configure clock for GPIO
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
	//configure AF
	GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_USART3);
	GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_USART3);

	//configure ports, &GPIO_InitStructure);
	GPIO_InitTypeDef GPIO_InitStructure;

	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOD, &GPIO_InitStructure);

	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
	GPIO_Init(GPIOD, &GPIO_InitStructure);

	USART_InitTypeDef USART_InitStructure;

	USART_InitStructure.USART_BaudRate = 115200;
	USART_InitStructure.USART_WordLength = USART_WordLength_8b;
	USART_InitStructure.USART_StopBits = USART_StopBits_1;
	USART_InitStructure.USART_Parity = USART_Parity_No;
	USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
	USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

	USART_Init(USART3, &USART_InitStructure);

	NVIC_InitTypeDef NVIC_InitStructure;
	NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

	NVIC_Init(&NVIC_InitStructure);

	USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

	/* Enable USART */
	USART_Cmd(USART3, ENABLE);

	while(1)
	{
		USART_SendData(USART3, (uint8_t)'S');
	}
}

  • avatar
  • mrcrook
  • 27 января 2012, 20:24