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

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

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


Вы здесь » Микроконтроллеры » vt » CH55x (CH551-CH554)


CH55x (CH551-CH554)

Сообщений 151 страница 168 из 168

151

Мля, весьма странно, скомпилил на 24МГц  - счас в putty выставил 115200 - в анализаторе 117647 , 57600 -57971, 38400 -38461,300000-307692,500000-500000

152

Да, но на 24Мгц получится облом - работать будет только если vcc- 5v, а это и на  пинах будет 5v .
Почему и перешел на 16МГц -а здесь и на 12 уже ошибка рассчета...

153

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

500000-500000

Вот она точность 24М/16/500000=3.00000 )

154

Перешел на 12 и вот они приколы - 38400 -39215 ,57600-57971, 115200-125000, 300000-400000,500000-800000
Видел подобный вопрос на форуме WCH , но там вопрошающий почему уверен что частота не стабильна.
Мне же видиться тупой просчет с делителями , а скорей облом с из-за делителя.
Ему там советуют перейти на 559 . СЧа попробую найти

155

Да, на 12 только 4800, 9600, 19200 и 57600

156

vt, а это уже крест на 552  в cdc , точней как UART-USB ...

157

Модуль CS1237 CS1238
http://sg.uploads.ru/2bjkF.png

Код:
unit cs1237;

interface
var
    command, register : byte;
    data : longint;
    pinc, pind : boolean absolute forward; volatile;

function poll : boolean;

implementation

function poll;
var
    a : array [0..3] of byte absolute data;
    c, i, r : byte;
begin
    if pind = false then begin
        c := command;
        r := register;
        for i := 1 to 46 do begin
            pinc := true;
            case i of
                1..8   : a[2] := (a[2] shl 1) + byte( pind );
                9..16  : a[1] := (a[1] shl 1) + byte( pind );
                17..24 : a[0] := (a[0] shl 1) + byte( pind );
                27     : if (c <> $56) and (c <> $65) then break;
                30..36 : begin
                             c := c shl 1;
                             pind := boolean( c and $80 );
                         end;
                37     : pind := true;
                38..45 : if command = {write} $65 then begin
                             pind := boolean( r and $80 );
                             r := r shl 1;
                         end else register := (register shl 1) + byte( pind );
                46     : pind := true;
            end;
            pinc := false;
        end;
        if a[2] < $80 then a[3] := 0 else a[3] := $FF;
        result := true;
    end else result := false;
    pinc := false;
end;

begin
    command := $65;
    register := $10;
end.


И пример использования

Код:
uses clock, time, usb, cs1237;
var
    led : boolean absolute p3.2;
    cs1237.pinc : boolean absolute p1.7;
    cs1237.pind : boolean absolute p1.5;
    m : record
        sec : word;
        adc : longint
        end absolute usb.buf[1].t;
begin
    repeat
        time.poll;
        usb.poll;
        if cs1237.poll then m.adc := cs1237.data;

        led := time.cs > 50;
        m.sec := time.s;

        if usb.len[1].r > 0 then begin
            move( usb.buf[1].r, usb.buf[1].t, 64 );
            usb.len[1].r := 0;
        end;
        if usb.len[1].t = 0 then usb.len[1].t := 64;
    until false;
end.

Отредактировано vt (2019-08-12 17:23:41)

158

57600 вполне хватит мне

159

Неожиданное применение CH552 )
http://sd.uploads.ru/5OEZe.jpg
https://micro-pi.ru/maixduino-sbc-risc- … ino-esp32/

А вот и софт нашёлся
CH552 Dual USB to Serial Bridge for Sipeed K210 & ESP32
https://github.com/diodep/ch55x_dualserial

Отредактировано vt (2019-08-13 16:45:44)

160

А это, наоборот, ожиданное )

http://s9.uploads.ru/8uhT6.jpg
http://sh.uploads.ru/Jkrjs.jpg

https://www.aliexpress.com/af/minpro.html
Burning speed:
We use GD25Q80 as the real test data to ensure the fairness of the test, and compare the same full data file on the same computer.
Minpro erase + burn + test Total time 20 seconds
CH341A erasing + burning + effect Total time 53 seconds
Burning speed far exceeds CH341A programmer

161

How To Program CH551G (Cheap uC From LCSC.com)
https://www.youtube.com/watch?v=a3XSIRkeubE
http://s7.uploads.ru/TPNiB.jpg

Ну и от себя добавлю к этому в таком же стиле

Беру два файла Turbo51 [и больше ничего, компилятор сам знает периферию 8051]
turbo51.exe - 274432 байт
turbo51.l51 - 113168 байт

Делаю третий - test.pas

Код:
begin
    p3.2 := false
end.


Делаю четвёртый командой turbo51 test.pas
test.bin - 7 байт

Это всё - светодиод горит )

Отредактировано vt (2019-08-15 11:09:48)

162

Опять сраная мастдайщина!
Когда уже людям надоест в игрушки играть?

163

Ну так ты когда уже сделаешь нормальный прошивальщик из librech551 ? )
Я могу этим заняться, но будет на тикле, а не на сишечке )

Кстати вот эта вот ссылка, которую я выше давал - https://github.com/diodep/ch55x_dualserial - крутая штука оказалась - сверх оптимизированный эмулятор ft2232

Отредактировано vt (2019-08-16 09:17:24)

164

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

Отредактировано selevo (2019-08-16 12:24:29)

165

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

Ну так ты когда уже сделаешь нормальный прошивальщик из librech551 ? )

Если вдруг будет время на всякую фигню. Пока сезон соревнований, я работаю с новой версией хронометра. А в следующем году надо бы вообще сеть запилить на ESP32 — чтобы была возможность еще и контрольные промежуточные пункты ставить. Ну и добавить RFID для автоматического распознавания (но над этой проблемой я еще вообще не думал).

166

Помни,ты каждый день занимаешся всякой фигней, особенно на работе.

Поэтому здесь  правильнее сказать, когда будет время переключится с одной дурости, на эту.

Отредактировано selevo (2019-08-17 12:13:13)

167

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

168

Я думаю, что в этой фигне гораздо меньше фигни, чем в остальной фигне )


Вы здесь » Микроконтроллеры » vt » CH55x (CH551-CH554)