Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » RA » вопросы keil


вопросы keil

Сообщений 1 страница 14 из 14

1

Есть массив buffer[2000], он рассчитывается в программе. как его копирнуть? в отладке я вижу что там рассчиталось. но 2000 элементов вручную копировать это ... долго и нудно.  нужно это для того что бы в екселе график построить. есть варианты?

2

Делай наоборот - рассчитывай на компе и вставляй готовый массив в программу
Если это синус, то мы делали такое с dosikus-ом тут - DMA burst

3

CERGEI написал(а):

DMA ?

AMD?

4

Если хочешь копаться в данных в мк в реальном времени, то можешь глянуть на Segger Embedded Studio и RTT (real time transfer) там
А лично я пользуюсь просто OpenOCD

5

спасибо. сейчас гляну, попробую.
выход есть, но он корявый - в лоб. цепляем cdc и через него весь массив в пк.
насколько знаю, в кейле есть debug viewer (printf) куда можно это все вывести и сделать копипаст, но я не знаю как этим пользоваться.

6

vt извиняюсь. а ищу куда ушло... модератор из меня тот еще.
и спасибо. sintab to что нужно. косяк нашел в ней. если кол-во строк 1, то на выходе лажа.

7

RA написал(а):

если кол-во строк 1, то на выходе лажа.

Какая конкретно лажа и какие остальные параметры?

8

чутка по-позже опишу в картинках :)

9

http://s5.uploads.ru/t/QHpLZ.png
сдвиг фазы тоже не работает. хоть 0, хоть 90 результат один и тот же.

10

Строчки и столбцы там - это не косметическое форматирование
В каждом столбце - синус, и эти синусы-столбцы сдвинуты по фазе - двумерный массив

11

vt еще раз спасибо.

12

vt  а можно эту программку подпилить не много? чтобы значения не просто по синусу рассчитывались, а умножались. что то на подобное 180 *(sinf( 2*3.14*ii/74)+1) * ( sinf( ( 2*3.14*i )/20000)+1) ;
ii от 0 до 74, i от 0 -20000. нужно два столбца рассчитаные по этой формуле, с сдвигом фаз 180. как сделать?

13

Можно конечно, там вся программка 30 строк в sintab.bat, можешь просто отредактировать блокнотом
В начале рисуется gui и одновременно создаются и инициализируются переменные, синхронизированные с gui

Код:
#& cd /d %~dp0 & cls & start tclkit %~nx0 & exit
foreach {name init    text} {
         ny   256     "Кол-во строк" 
         nx   4       "Кол-во столбцов" 
         ph   90      "Сдвиг фазы (в градусах)"
         max  0xFF    "Максимум"
         file sin.txt "Файл"
} {
    set $name $init
    grid [label .l$name -text $text] [entry .e$name -textvariable $name]
}
grid [button .b -text "Поехали" -command {
    .b configure -state disabled

Потом расчёты с использованием этих переменных, результаты накапливаются в переменной t [командами append]

Код:
    set pi [expr asin(1)*2]
    set fs "0x%0[string length [format %x $max]]X, "
    set t {}
    for {set y 0} {$y < $ny} {incr y} {
        for {set x 0} {$x < $nx} {incr x} {
            append t [format $fs [expr {
                round($max*(1+sin(2*$pi*( $y/floor($ny)+$x*$ph/360. )))/2)
            }]]
        }
        append t \n
    }

И в конце эта переменная t выводится в файл

Код:
    puts [set f [open $file w+]] $t
    close $f
    .b configure -state normal
}] - -sticky we

Справочник по командам Tcl - http://tcl.tk/man/tcl8.6/TclCmd/contents.htm

14

Огромнейшие СпасибиЩе. Буду вечерком разбираться.


Вы здесь » Микроконтроллеры » RA » вопросы keil