реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> eZ430-F2013, впечатления
rezident
сообщение Jan 17 2010, 20:10
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Какой версией IAR пользуетесь и какой именно кристалл симулируете? Вот этот проект (см. вложение), скопированный из вашего исходника с минимальными изменениями, у меня в IAR EW430 4.20.1 компилируется без ошибок и симуляция его идет адекватно. Симуляцию прерываний (TimerA0 и ADC10) делаю с помощью опции Forced Interrupt.
Прикрепленные файлы
Прикрепленный файл  TEST.zip ( 26.08 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 18 2010, 10:19
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 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
Причина редактирования: Длинная цитата
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 18 2010, 10:50
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



На сайте производителя можно скачать IAR Kickstart 4.21.8. http://focus.ti.com/docs/toolsw/folders/pr...-kickstart.html
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 18 2010, 16:42
Сообщение #34


Участник
*

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



Цитата(rezident @ Jan 18 2010, 13:50) *
На сайте производителя можно скачать IAR Kickstart 4.21.8. http://focus.ti.com/docs/toolsw/folders/pr...-kickstart.html

Нашёл, скачал, установил, первый тест (мигание светодиодом) прошёл на ура, в симуляторе нашёл генерирование прерываний. Поистине, блестящий инструмент отладки. Очень приятный и полезный.

Ваш тест выдал странную ошибку -
Код
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 дней бесплатная, однако номер и ключ лицензии следует вводить в программу? Если да, то будьте любезны, просветите, пожалуйста, каким образом это сделать?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 19 2010, 01:28
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(VVlad @ Jan 18 2010, 21:42) *
Ваш тест выдал странную ошибку
У вас удивительная способность находить глюки в программе там, где их не было. Глюки видимо любят вас! biggrin.gif У меня без ошибок в IAR EW4.20.1 (full) компилируется laughing.gif Попробую для интереса скачать и установить эту самую версию 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
 
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 19 2010, 10:05
Сообщение #36


Участник
*

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



Rezident, Ваша проницательность меня потрясает. Последний вариант без единой ошибки прошёл все стадии (компиляцию и линкование). Благодарю за потраченное на меня время. Тот факт, что ассемблер нетерпим к эгоизму (яканию), но признаёт величие (Я большое), производит неизгладимое впечатление. Относительно ограничения в 4 кБ я читал, но в кристалле 430А2012 лишь 2 кБ, то есть некоторые программы на Си могут не поместиться, в то время, как их аналог на Ассемблере войдёт легко. Ещё раз спасибо и с Крещением Господним праздником. Будьте здоровы.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jan 19 2010, 15:13
Сообщение #37


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



bb-offtopic.gif У старых версий MATLAB была такая же нелюбовь в комментариях. Видно "корни" одни (0xFF) laughing.gif


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 26 2010, 11:48
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 26 2010, 15:56
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Непонятна суть ваших затруднений. Передать данные можно любым доступным способом. Доступность способов определяется наличием и совместимостью интерфейсов связи. В обычном ПК нет интерфейса I2C, но есть COM-порт, USB-порт или Ethernet. Для подключения MSP430F2013 к COM-порту нужен трансивер RS232 с питанием 3...3,6В типа MAX3232. Для подключения к USB-порту нужен тоже какой-то конвертор. Обычно применяют конверторы (мосты) USB-COM известных производителей FTDIchip, SiLabs, Prolific, TI. Какой именно мост USB-COM использовать определяет каждый для себя сам. Подключение через Ethernet нецелесообразно по причине того, что стоимость моста для Ethernet будет сравнима или на порядок дороже самого MSP430.
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 28 2010, 05:39
Сообщение #40


Участник
*

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



Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост.
Go to the top of the page
 
+Quote Post
msalov
сообщение Jan 28 2010, 07:28
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(VVlad @ Jan 28 2010, 07:39) *
Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост.

Судя по всему Резидент допустил досадную печатку, введя Вас в заблуждение о необходимости двух микросхем для связи микроконтроллера по USB. Приведенные фирмы делают не USB-COM а USB-UART трансиверы/мосты, то есть требуется всего одна микросхема.
Go to the top of the page
 
+Quote Post
_3m
сообщение Jan 28 2010, 07:59
Сообщение #42


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(VVlad @ Jan 28 2010, 08:39) *
Спасибо, Резидент, за ясный ответ. Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост.

MAX не нужен.
Мосты FT232, PL2303 и им подобные имеют выходы 3,3V их нужно подключать к УАРТ MSP430 напрямую.
Таким образом вам нужно поставить MSP430+мост, например FT232R
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 28 2010, 12:51
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(VVlad @ Jan 28 2010, 10:39) *
Значит, трансиверов - посредников между MSP430 и USB в одном корпусе не существует. Единственный выход - ставить два корпуса последовательно - аналог MAX3232 и следом - мост.
Нет! Вы меня поняли совершенно неправильно. С точностью до "наоборот". Я же указал "мост USB-COM", а не USB-RS232. Хотя признаю, что более употребительными названиями этих конверторов являются названия USB-to-UART или USB-to-Serial Port. И вообще я рассчитывал, что вы сами посмотрите даташиты подобных м/с. Именно такой должен быть подход нормального инженера: узнать общую информацию, а подробности уточнять самостоятельно.
USB-to-UART от Silabs
USB-to-UART от FTDIchip
USB-to-Serial Bridge Controller от Prolific
USB-to-Serial Port Controller от Texas Instruments
Go to the top of the page
 
+Quote Post
VVlad
сообщение Jan 29 2010, 07:13
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 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 от Silabs
USB-to-UART от FTDIchip
USB-to-Serial Bridge Controller от Prolific
USB-to-Serial Port Controller от Texas Instruments

Приятно было узнать, что достаточно одного корпуса. С радостью сообщаю, что раздобыл FT232BM, установил драйверы и соединил с MSP430F2012. Это замечательно, что Резидент догадался поделится со мной ссылками. Именно их мне так не хватало ( cranky.gif )! Мои подозрения относительно того, что я неосторожно сжёг вывод 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 (четыре импульса одного уровня и четыре другого, не считая стартовых и стоповых битов).
Go to the top of the page
 
+Quote Post
O.L.
сообщение Jan 30 2010, 07:02
Сообщение #45


Частый гость
**

Группа: Свой
Сообщений: 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". Если вы внимательно посмотрите на код, то скорее всего увидите, что процедуры прием и передачи бита этой реализации последовательного порта выполняются только в прерывании.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 02:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01569 секунд с 7
ELECTRONIX ©2004-2016