|
|
  |
eZ430-F2013, впечатления |
|
|
|
Jan 18 2010, 10:19
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Цитата(rezident @ Jan 17 2010, 23:10)  Какой версией IAR пользуетесь и какой именно кристалл симулируете? Вот этот проект (см. вложение), скопированный из вашего исходника с минимальными изменениями, у меня в IAR EW430 4.20.1 компилируется без ошибок и симуляция его идет адекватно. Симуляцию прерываний (TimerA0 и ADC10) делаю с помощью опции Forced Interrupt. Rezident, Спасибо за помощь, Ваш вариант даёт ту же ошибку, видимо дело в IAR EW430. Вот версии - CODE IAR Assembler for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\a430.exe 26.09.2007 9:38:38, 688128 bytes
IAR C/C++ Compiler for MSP430 V4.09A/W32 [Kickstart] (4.9.1.3) D:\430\bin\icc430.exe 26.09.2007 9:27:24, 9121792 bytes
Uninstall Program for FTDI Drivers 3.0.0.33 (3.0.0.33) D:\430\drivers\Olimex\FTDIUNIN.exe 26.09.2007 13:27:04, 420864 bytes
D:\430\drivers\Olimex\omjtunin.exe 26.09.2007 13:27:04, 28672 bytes
Windows Setup API 5.1.2600.0 built by: WinDDK (5.1.2600.0) D:\430\drivers\Olimex\omjtunin2k.exe 26.09.2007 13:27:04, 47616 bytes
PreInstaller MFC Application 1, 0, 0, 1 (1.0.0.1) D:\430\drivers\Olimex\PreInstaller.exe 26.09.2007 13:27:04, 32768 bytes
Uninstall Program for FTDI D2XX Drivers 2.2.0.2 (2.2.0.2) D:\430\drivers\SoftBaugh\FTD2XXUN.EXE 26.09.2007 13:26:58, 406528 bytes
D:\430\src\examples\Segger\embOS\embOSView.exe 26.09.2007 13:28:34, 53760 bytes
IAR CSpyBat 5.0.1.254.6782 (5.0.1.254) D:\common\bin\CSpyBat.exe 25.09.2007 13:53:50, 270336 bytes
IAR Build Utility 5.0.1.254.6782 (5.0.1.254) D:\common\bin\iarbuild.exe 25.09.2007 13:53:50, 69632 bytes
IAR Embedded Workbench IDE 5.0.1.254.6782 (5.0.1.254) D:\common\bin\IarIdePm.exe 25.09.2007 13:53:50, 364544 bytes
IAR Library Builder 1.03L (1.3.12.0) D:\common\bin\xar.exe 31.08.2007 14:02:14, 98304 bytes
IAR XLIB 3.29P/386 (3.29.0.16) D:\common\bin\xlib.exe 31.08.2007 14:03:18, 425984 bytes
IAR XLINK 4.60K (4.60.11.0) D:\common\bin\xlink.exe 31.08.2007 15:03:52, 1388544 bytes
D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd381\InstallWiseCalculator.exe 17.02.2005 17:32:14, 846819 bytes
D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\ttc2ttf.exe 07.10.1998 15:15:34, 8192 bytes
D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd383\Кулинарная Книга v.4.0-keygen.exe 06.04.2005 11:00:06, 6656 bytes
D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd383\Кулинарная Книга v.4.0.exe 05.04.2005 2:36:36, 4623779 bytes
D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd384\mosmap21.exe 17.02.2005 17:33:28, 7631205 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\bed.exe 17.08.2000 18:00:30, 545456 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\horse.exe 17.08.2000 18:03:56, 662399 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\radio.exe 17.08.2000 18:00:30, 678592 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\roll.exe 16.04.2002 6:58:28, 1008476 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\ruspunk.exe 07.06.2002 9:50:48, 1225712 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\secret.exe 07.04.2002 16:53:28, 1057368 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\showtime.exe 17.08.2000 18:00:30, 804909 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\spb.exe 04.03.2002 3:17:48, 1127819 bytes
Flash Player 5.0 r30 5,0,30,0 (5.0.30.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd387\zug.exe 10.10.2001 15:45:54, 414174 bytes
D:\SuperDOS\MBRutil.exe 25.02.2002 15:52:14, 78336 bytes
D:\SuperDOS\RESTRMBR.EXE 31.08.2001 12:47:58, 41038 bytes
Recover deleted files and lost data 3.9.8.6220 (3.9.8.6220) D:\temp\RecoverMyFiles-Setup.exe 26.01.2009 2:17:04, 8280240 bytes
UndeletePlus™ Setup 3.0.0.602 (3.0.0.602) D:\temp\UndeletePlus_setup.exe 20.11.2009 12:29:08, 174963 bytes
IAR C-SPY Batch Simulator Driver for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\430bat.dll 25.09.2007 15:16:50, 270336 bytes
IAR C-SPY Emulator Driver for MSP430 V4.09A/W32 [Kickstart] (4.9.1.3) D:\430\bin\430fet.dll 25.09.2007 15:04:06, 892928 bytes
IAR C-SPY Library Support Plug-in for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\430libsupport.dll 25.09.2007 15:15:48, 376832 bytes
IAR C-SPY Processor Descriptor for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\430proc.dll 25.09.2007 15:15:36, 1179648 bytes
IAR C-SPY Simulator Driver for MSP430 V4.09A/W32 [Kickstart] (4.9.1.3) D:\430\bin\430sim.dll 25.09.2007 14:59:20, 1228800 bytes
CP210x 1.2 (1.2.0.0) D:\430\bin\CP210xManufacturing.dll 26.09.2007 13:30:04, 69632 bytes
IAR Project File Converter for MSP430 V3.21A/W32 (3.21.1.9) D:\430\bin\cwtd430.dll 26.09.2007 13:27:06, 352256 bytes
FTD2XX library 3.01.06 (3.1.6.1) D:\430\bin\FTD2XX.dll 26.09.2007 13:30:04, 81920 bytes
HIL 1, 2, 2, 0 (1.2.2.0) D:\430\bin\hil.dll 26.09.2007 13:30:04, 32768 bytes
SEGGER J-Link MSP430 interface DLL 2.1.1.0 (2.1.1.0) D:\430\bin\JLink430.dll 26.09.2007 13:30:04, 114688 bytes
MSP430.dll for the USB-MSP430-FPA v10.0 2, 1, 10, 0 (2.1.10.0) D:\430\bin\MSP430-FPA.dll 26.09.2007 13:30:04, 348160 bytes
MSP430 Version (2.3.1.0) D:\430\bin\msp430.dll 26.09.2007 13:30:04, 225280 bytes
MSP430 1, 0, 1, 1 (1.0.1.1) D:\430\bin\olimex.dll 26.09.2007 13:30:06, 458752 bytes
SBMSP430_DLL DLL 2, 1, 8, 1 (2.1.8.1) D:\430\bin\sbmsp430.dll 26.09.2007 13:30:06, 258048 bytes
SiUSBXp 2, 3, 0, 0 (2.3.0.0) D:\430\bin\SiUSBXp.dll 26.09.2007 13:30:06, 90112 bytes
MSP430 Version (2.1.8.1) D:\430\bin\SoftBaugh.dll 26.09.2007 13:30:06, 32768 bytes
IAR Workbench Target Descriptor for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\swtd430.dll 25.09.2007 15:16:40, 749568 bytes
IAR Workbench Target Descriptor, Emulator, for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\swtd430fet.dll 25.09.2007 14:45:40, 360448 bytes
IAR Workbench Target Descriptor, Simulator, for MSP430 V4.09A/W32 (4.9.1.9) D:\430\bin\swtd430sim.dll 25.09.2007 14:59:54, 294912 bytes
FTD2XX library 3.00.05 (3.0.5.1) D:\430\drivers\Olimex\FTD2XX.dll 26.09.2007 13:27:04, 81920 bytes
FTD2XX library 2.00.11 (2.0.11.1) D:\430\drivers\SoftBaugh\FTD2XX.dll 26.09.2007 13:26:58, 69632 bytes
LCD Plugin for EW430 3.42A (3.42.1.9) D:\430\plugins\Lcd\lcd.dll 26.09.2007 14:06:54, 266240 bytes
SEGGER embOS IAR-Plugin 2, 0, 5, 0 (2.0.5.0) D:\430\plugins\rtos\embOS\embOSPlugin.dll 26.09.2007 13:28:34, 397312 bytes
µC/OS-II KA Plug-in for C-SPY DLL 2.50 2007-09-10 (2.5.0.0) D:\430\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.dll 26.09.2007 13:28:34, 339968 bytes
IAR CSpyBat Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\CSpyBat.ENU.dll 25.09.2007 13:53:50, 4608 bytes
IAR C-SPY Debugger GUI 5.0.1.254.6782 (5.0.1.254) D:\common\bin\DebuggerGui.dll 25.09.2007 13:53:50, 1159168 bytes
IAR C-SPY Debugger GUI Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\DebuggerGui.ENU.dll 25.09.2007 13:53:50, 73728 bytes
IAR Find In Files 5.0.1.254.6782 (5.0.1.254) D:\common\bin\FindInFiles.dll 25.09.2007 13:53:50, 188416 bytes
IAR Find In Files Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\FindInFiles.ENU.dll 25.09.2007 13:53:50, 5632 bytes
IAR Build Utility Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\iarbuild.ENU.dll 25.09.2007 13:53:50, 4096 bytes
IAR Embedded Workbench IDE Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\IarIdePm.ENU.dll 25.09.2007 13:53:50, 479232 bytes
IAR IDE Framework 5.0.1.254.6782 (5.0.1.254) D:\common\bin\IdeFramework.dll 25.09.2007 13:53:50, 655360 bytes
IAR IDE Framework Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\IdeFramework.ENU.dll 25.09.2007 13:53:50, 5120 bytes
IAR C-SPY Debugger Kernel 5.0.1.254.6782 (5.0.1.254) D:\common\bin\Kernel.dll 25.09.2007 13:53:50, 1576960 bytes
IAR C-SPY Debugger Kernel Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\Kernel.ENU.dll 25.09.2007 13:53:50, 8192 bytes
IAR Log Window 5.0.1.254.6782 (5.0.1.254) D:\common\bin\LogWindow.dll 25.09.2007 13:53:50, 212992 bytes
IAR Log Window Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\LogWindow.ENU.dll 25.09.2007 13:53:50, 11264 bytes
IAR Project Manager Engine 5.0.1.254.6782 (5.0.1.254) D:\common\bin\ProjectManagerEngine.dll 25.09.2007 13:53:50, 1073152 bytes
IAR Project Manager Engine Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\ProjectManagerEngine.ENU.dll 25.09.2007 13:53:50, 13824 bytes
IAR Project Manager Gui 5.0.1.254.6782 (5.0.1.254) D:\common\bin\ProjectManagerGui.dll 25.09.2007 13:53:50, 708608 bytes
IAR Project Manager Gui Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\ProjectManagerGui.ENU.dll 25.09.2007 13:53:50, 106496 bytes
IAR Text Editor 5.0.1.254.6782 (5.0.1.254) D:\common\bin\TextEditor.dll 25.09.2007 13:53:50, 491520 bytes
IAR Text Editor Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\bin\TextEditor.ENU.dll 25.09.2007 13:53:50, 26112 bytes
Shared Library for Xerces-C Version 1.5.1 1, 5, 1 (1.5.1.0) D:\common\bin\xerces-c_1_5_1.dll 25.09.2007 13:53:48, 1257472 bytes
D:\common\bin\XmlLib.dll 25.09.2007 13:53:48, 90112 bytes
IAR Code Coverage Plug-in 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\CodeCoverage\CodeCoverage.dll 25.09.2007 13:53:48, 303104 bytes
IAR Code Coverage Plug-in Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\CodeCoverage\CodeCoverage.ENU.dll 25.09.2007 13:53:48, 10752 bytes
IAR ORTI RTOS Plug-in 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\Orti\Orti.dll 25.09.2007 13:53:48, 413696 bytes
D:\common\plugins\Orti\Orti.ENU.dll 25.09.2007 13:53:48, 8704 bytes
IAR Profiling Plug-in 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\Profiling\Profiling.dll 25.09.2007 13:53:48, 299008 bytes
IAR Profiling Plug-in Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\Profiling\Profiling.ENU.dll 25.09.2007 13:53:48, 10752 bytes
IAR Stack Plug-in 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\Stack\Stack.dll 25.09.2007 13:53:48, 331776 bytes
IAR Stack Plug-in Language Specific Resources 5.0.1.254.6782 (5.0.1.254) D:\common\plugins\Stack\Stack.ENU.dll 25.09.2007 13:53:48, 8192 bytes
Resources for AcEtUtil 2.00 (1.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\acetutil.dll 25.03.1999 9:06:22, 16384 bytes
ctw Module 1, 0, 0, 1 (1.0.0.1) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\axctextapp.dll 25.03.1999 9:09:40, 90112 bytes
RText COM Wrapper 1.00 (1.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\axrtext.dll 25.03.1999 9:07:16, 73728 bytes
Resources for ArcText 2.00 (2.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\ctextapp.dll 25.03.1999 9:09:14, 32768 bytes
Resources for DIMSIO 2.00 (2.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\dimsio.dll 25.03.1999 9:06:30, 24576 bytes
Resources for Leader Tools 1.00 (2.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\leaderex.dll 25.03.1999 9:09:54, 24576 bytes
Move Copy Rotate application for AutoCAD 1.00 (1.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\mocoro.dll 25.03.1999 9:07:22, 12288 bytes
Resources for RText 1.00 (1.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\rtext.dll 25.03.1999 9:06:54, 12288 bytes
Resources for Wipeout 2.00 (2.0.0.0) D:\RECYCLER\S-1-5-21-343818398-287218729-682003330-1003\Dd382\wipeout.dll 25.03.1999 9:07:48, 20480 bytes
Ищу дистрибутив Вашей среды разработки.
Сообщение отредактировал rezident - Jan 18 2010, 10:51
Причина редактирования: Длинная цитата
|
|
|
|
|
Jan 18 2010, 16:42
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Цитата(rezident @ Jan 18 2010, 13:50)  Нашёл, скачал, установил, первый тест (мигание светодиодом) прошёл на ура, в симуляторе нашёл генерирование прерываний. Поистине, блестящий инструмент отладки. Очень приятный и полезный. Ваш тест выдал странную ошибку - Код Updating build tree... test_asm.s43 Error[4]: Unexpected end of file encountered E:\distrib\MSP430\TEST\test_asm.s43 4 Error while running Assembler Total number of errors: 1 Total number of warnings: 0 Ругань на 4-ю строку. там ORG 0FC00h. Ошибка вряд ли в коде, раз он у Вас нормально отрабатывал. Может быть нужно как-то зарегистрировать программу? Лицензия на 30 дней бесплатная, однако номер и ключ лицензии следует вводить в программу? Если да, то будьте любезны, просветите, пожалуйста, каким образом это сделать?
|
|
|
|
|
Jan 19 2010, 01:28
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(VVlad @ Jan 18 2010, 21:42)  Ваш тест выдал странную ошибку У вас удивительная способность находить глюки в программе там, где их не было. Глюки видимо любят вас!  У меня без ошибок в IAR EW4.20.1 (full) компилируется  Попробую для интереса скачать и установить эту самую версию kickstart 4.21.8. Цитата(VVlad @ Jan 18 2010, 21:42)  Может быть нужно как-то зарегистрировать программу? Лицензия на 30 дней бесплатная, однако номер и ключ лицензии следует вводить в программу? Если да, то будьте любезны, просветите, пожалуйста, каким образом это сделать? Нет, ничего регистрировать не нужно. Вы скачали и установили версию kickstart, которая не требует регистрации и оплаты, но имеет ограничение в 4кБ Си-шного (C/C++) кода для всех MSP430, кроме тех, что с ядром MSP430X. Для последних ограничение в 8кБ кода на С/С++. На ассемблерный код у версии kickstart нет никаких ограничений. Все это в разделе Description на страничке продукта описано. Или вы не читали? Цитата IAR Embedded Workbench Kickstart for MSP430 is an Integrated Development Environment (IDE) for building and debugging embedded applications for MSP430 microcontrollers. The IDE includes a code size limited C-Compiler/Unlimited Assembler/FET Debugger/Simulator. The code size limitation of C/C++ compiler is set to 4 Kbytes for traditional MSP430 devices and 8 Kbytes for MSP430X devices with >60KB Flash. The Debugger is a fully integrated debugger for source and disassembly level debugging with support for complex code and data breakpoints. Update. Насчет вашей ошибки я понял. Поскольку обычно пишу на Си и с ней не встречаюсь, то сообразил не сразу. Это такой "родовой глюк" ассемблера IAR. Он не любит русской маленькой буквы "я" в комментариях. Замените ее, например, на большую букву "Я" и проект скомпилируется без ошибок. Кстати, в Си-шных исходниках к "я" отношение вполне лояльное.
Прикрепленные файлы
TEST.zip ( 23.44 килобайт )
Кол-во скачиваний: 16
|
|
|
|
|
Jan 19 2010, 10:05
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Rezident, Ваша проницательность меня потрясает. Последний вариант без единой ошибки прошёл все стадии (компиляцию и линкование). Благодарю за потраченное на меня время. Тот факт, что ассемблер нетерпим к эгоизму (яканию), но признаёт величие (Я большое), производит неизгладимое впечатление. Относительно ограничения в 4 кБ я читал, но в кристалле 430А2012 лишь 2 кБ, то есть некоторые программы на Си могут не поместиться, в то время, как их аналог на Ассемблере войдёт легко. Ещё раз спасибо и с Крещением Господним праздником. Будьте здоровы.
|
|
|
|
|
Jan 26 2010, 11:48
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Не слишком блестящие успехи с передачей байта в ПК заставили меня вновь побеспокоить уважаемых пользователей этого форума. Прошу просветить меня в отношении связи. Ядро с периферией в MSP430F2012 связано через шины адреса и данных. Протокол обмена данными для их выдачи наружу может быть выбран из трёх вариантов - I2C, USART в режиме UART и External RS232. Отсюда вопрос - обязателен ли традиционный способ передачи данных от контроллера в ПК - преобразование в UART, потом в мосте USB-to-UART (CP2102) конвертация для передачи по USB? Ведь возможность выбора I2C предполагает упрощение. Если конвертация форматов (в UART, затем в USB, а на программном уровне данные снова из виртуального ком-порта считываются!) не обязательна, то можно ли вместо CP2102 использовать другой мост и упростить процесс передачи данных?
После попытки вывести данные через контакт P1.1 он перестал реагировать. Предположительно, 5 вольт могло на него замкнуть. Был бы рад узнать способ проверки сомнительного контакта, но главное - есть ли проверенная схема электрических соединений вывода UART с разъёмом COM- порта, пригодная для микроконвертора MSP430F2012?
Сообщение отредактировал rezident - Jan 26 2010, 15:47
|
|
|
|
|
Jan 28 2010, 05:39
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост.
|
|
|
|
|
Jan 28 2010, 07:28
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045

|
Цитата(VVlad @ Jan 28 2010, 07:39)  Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост. Судя по всему Резидент допустил досадную печатку, введя Вас в заблуждение о необходимости двух микросхем для связи микроконтроллера по USB. Приведенные фирмы делают не USB-COM а USB-UART трансиверы/мосты, то есть требуется всего одна микросхема.
|
|
|
|
|
Jan 28 2010, 07:59
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(VVlad @ Jan 28 2010, 08:39)  Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост. MAX не нужен. Мосты FT232, PL2303 и им подобные имеют выходы 3,3V их нужно подключать к УАРТ MSP430 напрямую. Таким образом вам нужно поставить MSP430+мост, например FT232R
|
|
|
|
|
Jan 29 2010, 07:13
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109

|
Цитата(rezident @ Jan 28 2010, 15:51)  Нет! Вы меня поняли совершенно неправильно. С точностью до "наоборот". Я же указал "мост USB-COM", а не USB-RS232. Хотя признаю, что более употребительными названиями этих конверторов являются названия USB-to-UART или USB-to-Serial Port. И вообще я рассчитывал, что вы сами посмотрите даташиты подобных м/с. Именно такой должен быть подход нормального инженера: узнать общую информацию, а подробности уточнять самостоятельно. USB-to-UART от SilabsUSB-to-UART от FTDIchipUSB-to-Serial Bridge Controller от ProlificUSB-to-Serial Port Controller от Texas InstrumentsПриятно было узнать, что достаточно одного корпуса. С радостью сообщаю, что раздобыл FT232BM, установил драйверы и соединил с MSP430F2012. Это замечательно, что Резидент догадался поделится со мной ссылками. Именно их мне так не хватало (  )! Мои подозрения относительно того, что я неосторожно сжёг вывод 7 (P1.5/TA0), не поддтвердились. "Подрыгав" этой ножкой, убедился с помощью осциллографа в прямоугольных импульсах амплитудой 3 Вольта и частотой от 1Гц до 1 МГц (изменяя задержку). В FT232BM есть режим "адаптации" амплитуды сигналов к 3-вольтовой логике (достаточно оказалось замкнуть перемычкой выводы 6 и 13 (3v3out c VccIO)). Бьюсь сейчас над вопросом, как отладить демо-код для эхо USART. Код ;******************************************************************************* ; MSP430F20xx Demo - Timer_A, Ultra-Low Pwr UART 2400 Echo, 32kHz ACLK ; ; Description: Use Timer_A CCR0 hardware output modes and SCCI data latch ; to implement UART function @ 2400 baud. Software does not directly read and ; write to RX and TX pins, instead proper use of output modes and SCCI data ; latch are demonstrated. Use of these hardware features eliminates ISR ; latency effects as hardware insures that output and input bit latching and ; timing are perfectly synchronised with Timer_A regardless of other ; software activity. In the Mainloop the UART function readies the UART to ; receive one character and waits in LPM3 with all activity interrupt driven. ; After a character has been received, the UART receive function forces exit ; from LPM3 in the Mainloop which echo's back the received character. ; ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO ; //* An external watch crystal is required on XIN XOUT for ACLK *// ; ; MSP430F20xx ; ----------------- ; /|\| XIN|- ; | | | 32kHz ; --|RST XOUT|- ; | | ; | CCI0B/TXD/P1.5|--------> ; | | 2400 8N1 ; | CCI0A/RXD/P1.1|<-------- ; ; ; M. Buccini / L. Westlund ; Texas Instruments Inc. ; October 2005 ; Built with IAR Embedded Workbench Version: 3.40A ;******************************************************************************* RXD EQU 002h ; RXD on P1.1 TXD EQU 020h ; TXD on P1.5 ; ; CPU Registers Used #define RXTXData R4 #define BitCnt R5 ; ; Conditions for 2400 Baud SW UART, ACLK = 32768 Bitime_5 EQU 06 ; 2025 ; ~0.5 bit length + small adjustment Bitime EQU 014 ; 4725 ; 427us bit length ~ 2341 baud #include "msp430x20x3.h" ;------------------------------------------------------------------------------- ORG 0F800h ; Program Reset ;------------------------------------------------------------------------------- RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop Watchdog Timer SetupTA mov.w #TASSEL_1+MC_2,&TACTL ; ACLK, continuous mode SetupC0 mov.w #OUT,&CCTL0 ; TXD Idle as Mark SetupP1 bis.b #TXD+RXD,&P1SEL ; bis.b #TXD,&P1DIR ; ; Mainloop call #RX_Ready ; UART ready to RX one Byte bis.w #LPM3+GIE,SR ; Enter LPM3 w/ int until Byte RXed call #TX_Byte ; TX Back RXed Byte Received jmp Mainloop ; ; ;------------------------------------------------------------------------------- TX_Byte ; Subroutine Transmits Character from RXTXData Buffer ;------------------------------------------------------------------------------- TX_1 mov.w &TAR,&CCR0 ; Current state of TA counter cmp.w &TAR,&CCR0 ; !!Prevent async capature!! jne TX_1 ; add.w #Bitime,&CCR0 ; Some time till first bit bis.w #0100h, RXTXData ; Add mark stop bit to RXTXData rla.w RXTXData ; Add space start bit mov.w #10,BitCnt ; Load Bit counter, 8data + ST/SP mov.w #CCIS0+OUTMOD0+CCIE,&CCTL0 ; TXD = mark = idle TX_Wait bit.w #CCIE,&CCTL0 ; Wait for TX completion jnz TX_Wait ; ret ; ; ;------------------------------------------------------------------------------- RX_Ready ; Subroutine Readies UART to Receive Character into RXTXData Buffer ;------------------------------------------------------------------------------- mov.w #08,BitCnt ; Load Bit Counter, 8 data bits SetupRX mov.w #CM1+SCS+OUTMOD0+CAP+CCIE,&CCTL0 ; Neg Edge,Sync,cap ret ; ; ;------------------------------------------------------------------------------- TA0_ISR ; RXTXData Buffer holds UART Data ;------------------------------------------------------------------------------- add.w #Bitime,&CCR0 ; Time to next bit bit.w #CCIS0,&CCTL0 ; RX on CCI0B? jnz UART_TX ; Jump --> TX UART_RX bit.w #CAP,&CCTL0 ; Capture mode = start bit edge jz RX_Bit ; Start bit edge? RX_Edge bic.w #CAP,&CCTL0 ; Switch to compare mode add.w #Bitime_5,&CCR0 ; First databit 1.5 bits from edge reti ; RX_Bit bit.w #SCCI,&CCTL0 ; Get bit waiting in receive latch rrc.b RXTXData ; Store received bit RX_Test dec.w BitCnt ; All bits RXed? jnz RX_Next ; Next bit? ;>>>>>>>>>> Decode of Received Byte Here <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< RX_Comp bic.w #CCIE,&CCTL0 ; All bits RXed, disable interrupt mov.w #GIE,0(SP) ; Decode byte = active in Mainloop ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< RX_Next reti ; ; UART_TX cmp.w #00h,BitCnt ; jne TX_Next ; Next bit? bic.w #CCIE,&CCTL0 ; All Bits TX or RX, Disable Int. reti ; TX_Next bic.w #OUTMOD2,&CCTL0 ; TX Mark rra.w RXTXData ; LSB is shifted to carry jc TX_Test ; Jump --> bit = 1 TX_Space bis.w #OUTMOD2,&CCTL0 ; TX Space TX_Test dec.w BitCnt ; All bits sent (or received)? reti ; ; ;------------------------------------------------------------------------------- ; Interrupt Vectors ;------------------------------------------------------------------------------- ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; ORG 0FFF2h ; Timer_A0 Vector DW TA0_ISR ; END В главном цикле Код Mainloop mov.w #08,BitCnt ; ЯвнаЯ загрузкЯ счётчика битов 8-ю шагами байта mov.w #0Fh,RXTXData ; чтобы было что отослать через FT232, USB и далее - через VCP ;call #RX_Ready ; UART ready to RX one Byte ;bis.w #LPM3+GIE,SR ; Enter LPM3 w/ int until Byte RXed call #TX_Byte ; TX Back RXed Byte Received jmp Mainloop ; Напрямую этот пример выполнить не удалось, поскольку , как заметил один из маляров, в заголовке программы "MSP430F20xx Demo - Timer_A, Ultra-Low Pwr UART 2400 Echo, 32kHz ACLK " намекается на то, что программа должна работать не только для MSP2013, но и для MSP2012. Даже после замены строки #include "msp430x20x3.h" на #include "msp430x20x2.h" кристалл не откликнулся на наши просьбы. Закомментарил вызов функции чтения и команду ("спать" до прерывания) и добавил над ними две строки с русскими комментариями, (откомпилировалась и скомпоновалась программа без единой ошибки), подключил осциллограф, после запуска программы напряжение на выходе 7 (P1.5) вырастает до 3 вольт и не обнуляется. А я-то надеялся, что в цикле Mainloop будет постоянно выдаваться байт OF (четыре импульса одного уровня и четыре другого, не считая стартовых и стоповых битов).
|
|
|
|
|
Jan 30 2010, 07:02
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 10-06-05
Из: Новосибирск
Пользователь №: 5 890

|
Доброго времени суток. Давайте уберем весь лишний текст, что бы он нам не мешал увидеть проблему. Цитата(VVlad @ Jan 29 2010, 13:13)  Код ; Mainloop call #RX_Ready ; UART ready to RX one Byte bis.w #LPM3+GIE,SR ; Enter LPM3 w/ int until Byte RXed call #TX_Byte ; TX Back RXed Byte Received jmp Mainloop ; ; ;------------------------------------------------------------------------------- TX_Byte ; Subroutine Transmits Character from RXTXData Buffer ;------------------------------------------------------------------------------- TX_1 mov.w &TAR,&CCR0 ; Current state of TA counter cmp.w &TAR,&CCR0 ; !!Prevent async capature!! jne TX_1 ; add.w #Bitime,&CCR0 ; Some time till first bit bis.w #0100h, RXTXData ; Add mark stop bit to RXTXData rla.w RXTXData ; Add space start bit mov.w #10,BitCnt ; Load Bit counter, 8data + ST/SP mov.w #CCIS0+OUTMOD0+CCIE,&CCTL0 ; TXD = mark = idle TX_Wait bit.w #CCIE,&CCTL0 ; Wait for TX completion jnz TX_Wait ; ret ; ; Код Mainloop mov.w #08,BitCnt ; ЯвнаЯ загрузкЯ счётчика битов 8-ю шагами байта mov.w #0Fh,RXTXData ; чтобы было что отослать через FT232, USB и далее - через VCP ;call #RX_Ready ; UART ready to RX one Byte ;bis.w #LPM3+GIE,SR ; Enter LPM3 w/ int until Byte RXed call #TX_Byte ; TX Back RXed Byte Received jmp Mainloop ; Настоятельно рекомендую, сверившись с описанием на процессор, посмотреть внимательнее на опрометчиво закоментированную Вами строчку Код ;bis.w #LPM3+GIE,SR ; Enter LPM3 w/ int until Byte RXed Особенно вот на это - "+GIE". Если вы внимательно посмотрите на код, то скорее всего увидите, что процедуры прием и передачи бита этой реализации последовательного порта выполняются только в прерывании.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|