Подключаем внешнюю флеш-память SD-Card к МиниБоту — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
Строка 64: Строка 64:
 
- Линейная адресация секторов (LBA-Mode). (все новые CF-карты и HD). C / H / S-Mode старых HD не поддерживается.<br />
 
- Линейная адресация секторов (LBA-Mode). (все новые CF-карты и HD). C / H / S-Mode старых HD не поддерживается.<br />
  
В и тоге должно получиться как минимум вот это
+
'''В итоге должно получиться как минимум вот это'''
  
 
<source lang="vb">
 
<source lang="vb">
 
Dim S As string * 10 , W As Word ,L As Long
 
Dim S As string * 10 , W As Word ,L As Long
  
S = "write"
+
S = "write test"
 
Open "write.dmo" For Output As #2
 
Open "write.dmo" For Output As #2
Write #2 , S , W , L ' write is also supported
+
Write #2 , S , W , L ' так же поддерживается такой формат
 
Close #2
 
Close #2
  
 
Open "write.dmo" For Input As #2
 
Open "write.dmo" For Input As #2
Input #2 , S , W , L ' write is also supported
+
Input #2 , S , W , L ' так же поддерживается такой формат
 
Close #2
 
Close #2
 
Print S ; " " ; W ; " " ; L
 
Print S ; " " ; W ; " " ; L

Версия 18:43, 9 июля 2008


Maket SD-Card.jpg

Писать собственно сильно нечего, всё предельно просто как валенок.
Легким движением руки паяем переходничек о шести проводках согласно схемы.
На самом МиниБоте ничего перепаивать не надо.
Эксперементальным путем установлена работоспособность SD-карт при питании 4.1В (но это не говорит о том что и ваши SD-карты такие же не прихотливые ;-)).На крайний случай на период тестов запускайте МиниБот при разряженом до 3.6В акуумуляторе.
Затем честно себе копируем код теста SD-карты. После этого разрешается править данный код на свое усмотрение... :-)))
Память так же как и сам Минибот и все остальные компоненты можно приобрести здесь http://minibot.webasyst.net/shop/
Удачи коллеги в создании искусственного интеллекта!... :-)))


Исходники Медиа:test_SD-Card.rar

Чтение из SD-Card <source lang="vb">

Sd_address = 0 ; Gosub Read_sd_data 'после чтения данные будут лежать в массиве Sd_data

</source>

запись в SD-Card <source lang="vb">

Sd_address = 0 ; Gosub Clear_sd_buffer   'Очистить буфер для чтения/записи SD карты

  Sd_data(1) = 10   Sd_data(2) = 20   Sd_data(3) = 30   Sd_data(4) = 40   Sd_data(5) = 50   Sd_data(6) = 60   Sd_data(7) = 70   Sd_data(8) = 80   Sd_data(9) = 90   Sd_data(10) = 100

 ' и так можно до 512

  Gosub Write_sd_data  'Записать данные в SD карту

</source>

Ошибка создания миниатюры: convert: unable to open image `/var/www/vhosts/roboforum.ru/wiki.roboforum.ru/images/f/fb/_SD-Card.GIF': No such file or directory @ error/blob.c/OpenBlob/2589. convert: missing an image filename `/var/www/vhosts/roboforum.ru/wiki.roboforum.ru/images/tmp/transform_c0b4d8b5323d.gif' @ error/convert.c/ConvertImageCommand/3015. Error code: 1
MiniBot - SD-Card.GIF
1.GIF
Ошибка создания миниатюры: convert: unable to open image `/var/www/vhosts/roboforum.ru/wiki.roboforum.ru/images/3/3b/.GIF': No such file or directory @ error/blob.c/OpenBlob/2589. convert: no decode delegate for this image format `/var/www/vhosts/roboforum.ru/wiki.roboforum.ru/images/3/3b/.GIF' @ error/constitute.c/ReadImage/532. convert: missing an image filename `/var/www/vhosts/roboforum.ru/wiki.roboforum.ru/images/tmp/transform_99da87002dce.gif' @ error/convert.c/ConvertImageCommand/3015. Error code: 1

От сюда http://members.aon.at/voegel/index.html будем потихоньку переводить файловую систему AVR-DOS для МиниБота

Особенности:
- Чтение и запись ASCII-файлов
- Чтение и запись бинарных файлов
- Доступны драйвера для Compact Flash Cards, Hard disk, MMC, SD
- Полностью интегрирован в BASCOM AVR BASIC
- QB/VB совместимый синтаксис
- Для быстроты и компактности полностью написан на ассемблерем

Она работает с:
- DOS-овскими FAT16 и FAT32 отформатированными разделами
- Файлы в корневой директории и субдиректории
- Короткие DOS имена файлов (8.3)
- Размер сектора 512 байт (почти всех CF-карт, SD-карт и HD)
- Линейная адресация секторов (LBA-Mode). (все новые CF-карты и HD). C / H / S-Mode старых HD не поддерживается.

В итоге должно получиться как минимум вот это

<source lang="vb"> Dim S As string * 10 , W As Word ,L As Long

S = "write test" Open "write.dmo" For Output As #2 Write #2 , S , W , L ' так же поддерживается такой формат Close #2

Open "write.dmo" For Input As #2 Input #2 , S , W , L ' так же поддерживается такой формат Close #2 Print S ; " " ; W ; " " ; L

</source>