Jump to content

    

SergeyB

Свой
  • Content Count

    83
  • Joined

  • Last visited

Community Reputation

0 Обычный

About SergeyB

  • Rank
    Частый гость
  • Birthday 04/13/1982

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Russia, Orel

Recent Profile Visitors

1281 profile views
  1. stm32f1xx + ext SRAM (CY7C1041DV33)

    Цитата(DmitryM @ Jun 11 2014, 16:43) Как включена SRAM, выводы BLE, BHE? Элементарно может читаться последнее записанное значение, если SRAM в Z-состоянии, а емкость шины еще содержит последнее выставленное значение и шина никуда не подтянута. пины BLE, BHE подключены к чипу верно (но еще раз проверю). про Z состояние идея очень кстати верная, надо проанализовать еще раз сигналы управляющие. уже на столе другой проект раскидал. отпишусь обязательно немного позже. добрался. всем спасибо кто откликнулся. Дело было не в бабине.... за отсутствием идей что еще можно исправить, снял cpld с платы, которая тоже сидела на шине и отвечала за трассировщик шины для ssd1963 и ВСЁ стало норм.
  2. stm32f1xx + ext SRAM (CY7C1041DV33)

    Чет даже не знаю что и делать. Должна была с пол пинка взлететь. по анализатору смотрю, память то читается, но именно она выдает постоянно последнее записанное значение. Адрес смотрю меняется нормально. бред короче на пустом месте. плата такая, на шине висит NAND, SRAM и ssd1963. Из этого всего только SRAM не работает нормально. Всё живет под FreeRTOS.
  3. stm32f1xx + ext SRAM (CY7C1041DV33)

    Помогите ЛЮДИ!!!!!! у меня уже мозг взрывается. подключил память. все пины верно!. настроил, взял из примеров код и функции чтения и записи. Смотрел анализатором сигналы. как по даташиту, все нормально. читает последнее записанное, хоть треснию ХЕЛП!!!!!! CODE#define Bank1_SRAM3_ADDR ((uint32_t)0x68000000) void SRAM_Init(void) { FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef p; GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOs clock */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_GPIOG, ENABLE); /* Enable FSMC clock */ RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE); /*-- GPIOs Configuration -----------------------------------------------------*/ /* +-------------------+--------------------+------------------+------------------+ | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | | PD4 <-> FSMC_NOE | PE2 <-> FSMC_A23* | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | | PD5 <-> FSMC_NWE | PE3 <-> FSMC_A19 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | | PD8 <-> FSMC_D13 | PE4 <-> FSMC_A20* | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | | PD9 <-> FSMC_D14 | PE5 <-> FSMC_A21* | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | | PD10 <-> FSMC_D15 | PE6 <-> FSMC_A22* | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2*| ne3 | PD11 <-> FSMC_A16 | PE7 <-> FSMC_D4 | PF13 <-> FSMC_A7 |------------------+ | PD12 <-> FSMC_A17 | PE8 <-> FSMC_D5 | PF14 <-> FSMC_A8 | | PD13 <-> FSMC_A18 | PE9 <-> FSMC_D6 | PF15 <-> FSMC_A9 | | PD14 <-> FSMC_D0 | PE10 <-> FSMC_D7 |------------------+ | PD15 <-> FSMC_D1 | PE11 <-> FSMC_D8 | +-------------------| PE12 <-> FSMC_D9 | | PE13 <-> FSMC_D10 | | PE14 <-> FSMC_D11 | | PE15 <-> FSMC_D12 | +--------------------+ */ /* GPIOD configuration */ GPIO_PinAFConfig(GPIOD, GPIO_PinSource0, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource1, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource4, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource5, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource10, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource11, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource12, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource13, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_FSMC); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOD, &GPIO_InitStructure); /* GPIOE configuration */ GPIO_PinAFConfig(GPIOE, GPIO_PinSource0 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource1 , GPIO_AF_FSMC); //GPIO_PinAFConfig(GPIOE, GPIO_PinSource2 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource3 , GPIO_AF_FSMC); //GPIO_PinAFConfig(GPIOE, GPIO_PinSource4 , GPIO_AF_FSMC); //GPIO_PinAFConfig(GPIOE, GPIO_PinSource5 , GPIO_AF_FSMC); //GPIO_PinAFConfig(GPIOE, GPIO_PinSource6 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource7 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource8 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource9 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource10 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource11 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource12 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource13 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource14 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOE, GPIO_PinSource15 , GPIO_AF_FSMC); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | /*GPIO_Pin_2 |*/ GPIO_Pin_3 | /*GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 |*/ GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11| GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOE, &GPIO_InitStructure); /* GPIOF configuration */ GPIO_PinAFConfig(GPIOF, GPIO_PinSource0 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource1 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource2 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource3 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource4 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource5 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource12 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource13 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource14 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOF, GPIO_PinSource15 , GPIO_AF_FSMC); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_Init(GPIOF, &GPIO_InitStructure); /* GPIOG configuration */ GPIO_PinAFConfig(GPIOG, GPIO_PinSource0 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource1 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource2 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource3 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource4 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource5 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource7 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource9 , GPIO_AF_FSMC); GPIO_PinAFConfig(GPIOG, GPIO_PinSource10 , GPIO_AF_FSMC); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_10 | GPIO_Pin_9 | GPIO_Pin_7; GPIO_Init(GPIOG, &GPIO_InitStructure); /*-- FSMC Configuration ------------------------------------------------------*/ p.FSMC_AddressSetupTime = 20; p.FSMC_AddressHoldTime = 10; p.FSMC_DataSetupTime = 30; p.FSMC_BusTurnAroundDuration = 10; p.FSMC_CLKDivision = 0; p.FSMC_DataLatency = 10; p.FSMC_AccessMode = FSMC_AccessMode_A; FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); /*!< Enable FSMC Bank1_SRAM3 Bank */ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); } CODE** * @brief Writes a Half-word buffer to the FSMC SRAM memory. * @param pBuffer : pointer to buffer. * @param WriteAddr : SRAM memory internal address from which the data will be * written. * @param NumHalfwordToWrite : number of half-words to write. * @retval None */ void SRAM_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) { for (; NumHalfwordToWrite != 0; NumHalfwordToWrite--) /* while there is data to write */ { /* Transfer data to the memory */ *(__IO uint16_t *) (Bank1_SRAM3_ADDR + WriteAddr) = *pBuffer++; /* Increment the address*/ WriteAddr += 2; } } /** * @brief Reads a block of data from the FSMC SRAM memory. * @param pBuffer : pointer to the buffer that receives the data read from the * SRAM memory. * @param ReadAddr : SRAM memory internal address to read from. * @param NumHalfwordToRead : number of half-words to read. * @retval None */ void SRAM_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead) { for (; NumHalfwordToRead != 0; NumHalfwordToRead--) /* while there is data to read */ { /* Read a half-word from the memory */ *pBuffer++ = *(__IO uint16_t*) (Bank1_SRAM3_ADDR + ReadAddr); /* Increment the address*/ ReadAddr += 2; } }
  4. всем спасибо кто не откликнулся, допетрил сам. тему можно закрывать
  5. Курю доку и примеры к библиотеке u8glib. не понимаю как подрубить дисплей с интерфейсом 8080 к этой библиотеке. От количества макросов плавятся мозги. Что я понял из примеров: 1. для инициализации дисплея в арме используется функция u8g_InitComFn 2. нужно сделать свою функцию uint8_t u8g_com_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) где прописывается сброс, чип селект и запись байта и потока данных 3. как я понял из этой библиотеки там используется какой то конструктор для настройки всех функций работы с дисплеем. но как этому драйверу сказать как общаться с дисплеем, через какие ноги, как инициализировать дисплей - в принципе это описывает функция u8g_com_hw_spi_fn, но как задавать страницу в этой функции нет. короче, Если есть опытные люди, работавшие с этой библиотекой, откликнитесь!!!!! я там уже много всего прочел, но пазл в голове не складывается пока.
  6. спасибо за разъяснение, все понятно. в принципе зачем она нужна было понятно. мозг у меня застопорился на моменте, как вы описали Цитата------------- происходит прерывание 1сек становиться 2 999 мсек - становится 0 м сек вы возвращаетесь обратно ------------- сохраняете миллисекунды 0 пора отдыхать.
  7. Разбираюсь с проектом DMX512/RDM Заинтересовала функция работы с таймером Кодvoid bsp_get_sys_uptime(uint32_t *psec_cnt, uint16_t *pmsec_cnt) {     // we do not want to disable the systick interrupt, so we have to deal     // with a systick during the execution of this function     uint32_t sec_cnt_1  = sys_seconds_cnt;     uint16_t msec_cnt_1 = sys_millisec_cnt;     uint32_t sec_cnt_2  = sys_seconds_cnt;     uint16_t msec_cnt_2 = sys_millisec_cnt;     if ((sec_cnt_1 == sec_cnt_2) && (msec_cnt_2 < msec_cnt_1))     {         sec_cnt_2 += 1;     }     *psec_cnt  = sec_cnt_2;     *pmsec_cnt = msec_cnt_2; } переменные sys_seconds_cnt и sys_millisec_cnt инкрементируются в SysTick прерывании. Зачем нужна такая функция? Предположим, если сработало прерывание во время инициализации локальных переменных, то увеличить счетчик секунд? не совсем понимаю назначение, подскажите может кто встречал такие варианты. код перывания Кодvoid TickHandler(void) {     uint32_t i;     uint32_t millisec_increment = 1000 / SYS_TICK_RATE_HZ;     sys_millisec_cnt += millisec_increment;     if (sys_millisec_cnt >= 1000)     {         sys_millisec_cnt -= 1000;         sys_seconds_cnt++;     }     for (i=0; i<NR_OF_MSEC_COUNTERS; i++)     {         app_millisec_cnt[i] += millisec_increment;     } }
  8. Проблемы с malloc

    Цитата(DASM @ Jul 23 2013, 14:51) Это не значит ничего. Отладчик напишет перевод известного ему адреса и все. Вы я правильно понял получаете нулл после вызова маллок-? проверяли? меньшие размеры пробовали? Мне кажется Вы умудрились выкинуть поддержку динамического выделения вообще. видимо да. Просто я решил собрать проект с нуля и добавить туда библиотек, видимо это был не совсем правильный путь. Сейчас я просто взял уже готовый проект и выкинул все лишнее и заработало. Печалит только то, что не разобрался почему такое произошло. Могу скинуть проект в иаре, откомпилите может сразу поймете в чем проблема. Без проекта сложно понять со стороны. Но видимо проблема с настройками или библиотеками, так как при запуске отладчика сразу пишет mutex на глобального определения указателя на структуру. Если не сложно, гляньте что там криво, я только начал варится с операционкой, не до конца разобрался еще в тонкостях мой не работающий проект http://yadi.sk/d/cCbjU9ui7CIF0 из чего переделывал (работающий) http://yadi.sk/d/Jo3NMxXP7CIIA грусть начинается в файле gl_mgr.c -> функция GL_ShowMainMenu строка GL_HomePage = malloc(sizeof(GL_Page_TypeDef)); изначально в файле есть глобальное определение указателя GL_Page_TypeDef *GL_HomePage; вот с ним и косяк
  9. Проблемы с malloc

    убирал работу с теми устройствами, которых нет на плате. размер кучи. #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) ) самое интересное для меня, я не понимаю что означает vst(0x0) и mutex(0x0). Вообще не нашел, что это значит.
  10. Проблемы с malloc

    Взял проект от STM32_EVAL на FreeRTOS в IAR. Сделал из него новый проект и покоцал функциональность. Использую его для другой платы. Так вот, там есть объявление структуры GL_Page_TypeDef *GL_HomePage стартовой страницы GUI библиотеки для STM32. В полном рабочем проекте при запуске отладки в watch на эту структуру пишет : Expression | Value | Location | Type GL_HomePage | vst(0x0) | 0x20000D68 | struct GL_Page_TypeDef В сокращенной версии проекта Expression | Value | Location | Type GL_HomePage | mutex(0x0) | 0x20006640 | struct GL_Page_TypeDef При дальнем выделении памяти через malloc у рабоче проекта в Value адрес подставляется, а в сокращенном нет, так и остается mutex(0x0). Какого говорится фига такое происходит. Про такое Value вообще ничего не нашел. Может у меня изначально с конфигом криво, хотя уже вроде всё перерыл.
  11. Помогите найти исходники проекта который прошит уже в плате с µC-OSII RTOS (Version 2.86). Или они такие приколисты, что дают исходники только с FreeRTOS? Диска вообще с китом не приложили. Да и сайт ST опять поменяли, что ничего не найдешь. Обращаюсь, так как может кто уже искал на эту плату проект под OSII с поддержкой ее модулей.
  12. Радиомодули на 2,4GHz TR24

    А кто то пробовал делать всязь между TR24A и TR24P? Код один в один, связи нет!!! Причем в чем причина понять не могу, модули то одинаковые, кроме усилителя на 24P. С TR24A нормально подружился, переписал нормалный код для работы с ним. Китаец конечно жжот. Я где то еще отечественные исходники откапывал, но там сыро было. Вот может кому будет полезно, выложу переписку с корейцами. --------------------------------------------------------------------------------------------- Sent: Tuesday, March 23, 2010 3:41 PM To: kacy_chiang@spiriton.com.tw Cc: anderson_kuo@spiriton.com.tw Subject: TR24P Hello.'ll Show how toconnect the antennato the module TR24P --------------------------------------------------------------------------------------------- From:kacy_chiang[mailto:kacy_chiang@spiriton.com.tw] Sent:Tuesday, March 23, 2010 4:53 PM To:'sbulanenkov@yandex.ru' Subject:Tryto add two small chipantenna or with a big completed antenna for TR24P2.4G transciever module Suggestion forantennaonTR24P 2.4G transceiver module 1. Try to add two”smallchip” antenna (the data sheet see attached) toconnectwithpin 14 C RX ANT. And pin 17 C TX ANT of the module. Or 2. With a SMA connectoronthe housing / cases toconnectabig completed antenna. 3. The antenna of typeisdepend in your requirements for distancerangeandhousing space. Actually, thedistancerangefor big antenna is always longer than small chipantenna,butthe housing must have a big space to fix this big antenna. 4. Our engineer havebeenadded 2 small chip antenna on TR24P demo kitforlongdistance of testing. With best regards, Kacy Chiang / SPIRIT CON --------------------------------------------------------------------------------------------- To:kacy_chiang Subject:Re:Try to add two smallchip antenna or with a big completed antenna for TR24P2.4Gtransciever module where I can view information about kit? as modules can be ordered whole sale from you? --------------------------------------------------------------------------------------------- From:UI臌 缰[mailto:sbulanenkov@yandex.ru] Sent:Tuesday, April 06, 2010 1:37 AM To:kacy_chiang Subject:Re: Information for TR24P2.4 GHz transceiver RF module in yourdocumentation does not describe the functions of pinsof the module. that the TXV and RXVpins? 26.03.10, 08:56,"kacy_chiang": Inreply toyoure-mail of 23/03 & 24/03 for TR24P 2.4G transceiver module, 1. The demo kit is madebyour engineer for testing distance range only. 2. The completed antennaisas like your external antenna. 3. Where & how doyouknow our 2.4G transceiver module ? 4. The information moreforTR24P (long distance) 2.4G transceiver module for your reference, a. Our 2.4G RF moduleisdesigned specifically for data / signal of reception & transmission, and theapplicationforWireless Mouse, RemoteControl,Home/ Factory automation, wireless security &accesscontrol, Batterypoweredwirelessdevices.. etc.. b. With aEM198810A24P 2.4G transceiver IC (dice of packaging) c. The frequencyrange operating in 2400 ~2482 MHz Multi-channel d. The dateratefor TR24 : 1000K=1M bps e. extra add a ”Power Amplifier (PA)” onTR24P module for longdistanceofapplication. underopen area, thedistance for TR24Pisduring 1000 ~ 1200 meters. f. Kindlyfind attached the data sheet& IC specification for yourreference. Lookingforwardtoreceiving your early reply with much interest in the above soon. Withbestregards, KacyChiang/ SPIRIT C ON TEL : +886-2-2696-2258 ext.312 FAX: +886-2-2696-2269 Web site : www.spiriton.com.tw --------------------------------------------------------------------------------------------- Sent: Tuesday, April 06, 2010 5:48 PM To: kacy_chiang Subject: Re: Information for TR24P2.4 GHz transceiver RF module What is their function? Whether they are intended for the antenna switch? 06.04.10, 16:51, "kacy_chiang" : In reply to your e-mail of 05-April-2010, for TR24P,pin 11 is TXV and pin 12 isRXV. and kindlyrefer the data sheet ofTR24P again. With bestregards, Kacy Chiang/ SPIRIT - ON ---------------------------------------------------------------------------------------------- From: UI臌 缰 [mailto:sbulanenkov@yandex.ru] Sent: Wednesday, April 07, 2010 6:42 PM To: kacy_chiang Subject: Re: Information for TR24P 2.4 GHz transceiver RF module i ask u what is functionality for pins 11 "TXV" and pin 12 "RXV". because in your docs some unsertanty. 07.04.10, 13:26, "kacy_chiang" <kacy_chiang@spiriton.com.tw>;: Suggestion forantenna on TR24P 1. Try to add two ”small chip” antenna to connect with pin 14 C RX ANT. and pin17- TX ANT of TR24P 2. Or with a SMA connector in the housing / cases to connect a big completedantenna (such as radio antenna). 3. The antenna of type is depend on your housing space and distance range of request. Actually, the distancerange for big antenna is always longer than small chipantenna, but the housing musthave a big space in order to fix this big antenna. With best regards, Kacy Chiang / SPIRIT - ON ------------------------------------------------------------------------------------------------- 1. Pin 11 - TXV = TX voltage Pin 12 - RXV = RX voltage 2. RF module is designed for data / signal of transmission & reception only, and your software micro CUP IC design control & indicate the functions in the product. 3. When TXV on transmitting status Pin 11 act in high (1) Pin 12 act in low (0) 4. When RXV on receipting status Pin 12 act in high (1) Pin 11 act in low (0) With best regards, Kacy Chiang / SPIRIT C ON --------------------------------------------------------------------------------------------------- Еще понаприслали макулатуры, выкладываю, может пригодиться
  13. прочитал весь казус не нашел как решить проблему с программированием. Помогает только закрытие stvp, тогда проц запускается. Есть предположение, что это связано с рестартом контроллера по SWIM, программа после прошивки просто не ресетит контроллер в режиме отладки.
  14. Есть проблема. Работаю в W7 и IDE ST Visual Develop (COSMIC). Если зашиваю прошивку в Debug режиме, и нажимаю кнопку Start, то все нормально пускается и при выходе из этого режима, тоже замечательно работает. При прошивке из под ST Visual Develop или ST Visual Programmer, прошивка не стартует, если выдернуть отладчик из платы и передернуть питание платы. Стартует только в том случае, если не отключая отладчик от платы, вынуть USB шнур отладчика из порта компьютера, при подключенном отладчике к плате. Пробовал Rlink и Stlink. Может, кто уже решал подобную проблему, у меня поиском найти не получилось. Ну и сразу спрошу заодно, может, ткнет кто меня носом в обсуждение этого вопроса. Меня интересует правильная работа с сигналом отключения передатчика после окончания передачи, при использование half duplex работы RS485 (двухпроводная линия). Как я понял у этого микроконтроллера на любое прерывание (по передатчику) по UART осуществляется переход по одному и тому же вектору. Вот сделал такое решение, в принципе заработало, но как то коряво со стороны смотрится. CODE #ifdef _COSMIC_ @far @interrupt void UART2_TX_IRQHandler(void) #else /* _RAISONANCE_ */ void UART2_TX_IRQHandler(void) interrupt 20 #endif /* _COSMIC_ */ { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ if(!IsPktSend) { if(OutBuff2Ptr.rd == OutBuff2Ptr.wr) { UART2_ITConfig(UART2_IT_TXE, DISABLE); //UART2_GetITStatus(UART2_IT_TXE); //UART2_GetITStatus(UART2_IT_TC); /* Очистка флага "передача завершена" */ /* не нашел в библиотеке команду как его очищать */ UART2->SR = (u8)~(UART2_IT_TC); UART2_ITConfig(UART2_IT_TC, ENABLE); IsPktSend = 1; } else { UART2_SendData8(Uart2OutBuff[OutBuff2Ptr.rd++]); if(OutBuff2Ptr.rd >= sizeof(Uart2OutBuff)) OutBuff2Ptr.rd = 0; } } else { if(UART2_GetITStatus(UART2_IT_TC)) { TX_EN_OFF(); UART2_ITConfig(UART2_IT_TC, DISABLE); UART2->SR = (u8)~(UART2_IT_RXNE_OR); UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE); IsPktSend = 0; } } }
  15. Продам smd печку Т862

    Продали уже? Если нет, то напишите письмом когда и куда приехать посмотреть, и если устроит то сразу возьмем sbulanenkov [собака] yandex dot ru