C8051F320 и USB

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Zhbert
Родился
Сообщения: 5
Зарегистрирован: Пт ноя 19, 2010 11:17:04
Откуда: Санкт-Петербург
Контактная информация:

C8051F320 и USB

Сообщение Zhbert »

По работе нужно срочно сделать программулину для данного контроллера, а так, как я первый раз работаю с данным контроллером и С51 в целом, то пришлось неистово гуглить. В процессе гугления я наткнулся на радиокота и один тред отсюда, где было расписано как сделать почти то, что мне и нужно.
http://radiokot.ru/forum/viewtopic.php?f=24&t=23050&start=40 Вот та тема. Ну я делал все, как было сказано Left Radio, т.е. скачть USBExpress, Кейл у меня уже стоял, засунул в проект либу, скопировал код и попытался собрать, в результате чего Кейл мне сказал, что есть ошибки, а именно

Код: Выделить всё

USB_API.H(77): error C141: syntax error near '8'
MAIN.C(68): error C202: 'USB_TX_READY': undefined identifier
MAIN.C(81): error C202: 'USB_START': undefined identifier


Я так понимаю, что не определены эти переменные. Первое, что приходит в голову - определить их самому, но вот где и как - хз.
Камрады, подскажите, что делать!
Реклама
Zhbert
Родился
Сообщения: 5
Зарегистрирован: Пт ноя 19, 2010 11:17:04
Откуда: Санкт-Петербург
Контактная информация:

Re: C8051F320 и USB

Сообщение Zhbert »

Вроде бы решил сам, поинтересовавшись на ЛОРе. Добавил объявление переменных

Код: Выделить всё

bit  USB_TX_READY, USB_START;

А в первой ошибке пришлось удалить кое-что из хидера усбэкспресса, вроде там было оно два раза объявлено, что и вызывало ошибку.

Ушел паять контроллер, прошивать и пытаться запустить, накрапав в лабвью что-нибудь работающее.
Реклама
cnccreator
Родился
Сообщения: 4
Зарегистрирован: Пн янв 12, 2009 17:42:55
Откуда: Украина. Львов

Re: C8051F320 и USB

Сообщение cnccreator »

Здравствуйте метры форума! Я работаю с С8051F320 SL. В моём девайсе стоит SD память куда заливаются данные с компа, дальше проц читает из памяти и выдаёт сигналы управления ШД в порт. Всё работает отлично за исключением того что проц странно ведёт себя по входу-то засыпает то просыпается когда захочет, то требует подключения к компьтеру то наоборот, то сбоит при подключении шнура и я вообще не знаю что у него творится по входу USB.Может кто сталкивался с таким? Как рограммно(и аппаратно) можно сделать проц неактивным по входу. Очень нужен ваш совет. Спасибо.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: C8051F320 и USB

Сообщение МитяРа »

Посмотри, может тут что найдёшь:
http://radiokot.ru/articles/44/
http://radiokot.ru/articles/45/
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: C8051F320 и USB

Сообщение Ser60 »

cnccreator писал(а):Как программно (и аппаратно) можно сделать проц неактивным по входу

По какому именно входу? Программно - без наличия программы вряд-ли кто скажет, а аппаратно - отключить вход от схемы. Но мне кажется, Вы не это хотели спросить. Если так, уточните вопрос.
Реклама
cnccreator
Родился
Сообщения: 4
Зарегистрирован: Пн янв 12, 2009 17:42:55
Откуда: Украина. Львов

Re: C8051F320 и USB

Сообщение cnccreator »

#include <c8051f320.h>
#include <intrins.h>
#include <stddef.h>
#include "USB_API.h"
#define MAX_BLOCK 512
#define MAX_BUF 64
#define C_D 90//800
#define SPEED_CONST 100//50

unsigned int X_max;
unsigned int Y_max;
xdata unsigned int FRONT_X;// (800)
xdata unsigned int PAUSE_X;// (4000) //200+1000=1200 5 милисекунд
xdata unsigned int FRONT_Y;// (800)
xdata unsigned int PAUSE_Y;// (4000)
xdata unsigned int FRONT_Z;// (10)
xdata unsigned int PAUSE_Z;// (10)
unsigned int X;
unsigned int Y;
unsigned int X_last;
unsigned int Y_last;
unsigned int X_KROK;
unsigned int Y_KROK;
unsigned int X_KROK_TEMP;
unsigned int Y_KROK_TEMP;
bit left_right;
//unsigned int crc_16;
xdata unsigned long sector_prev;
xdata unsigned long offset;
bit inv_x;
bit inv_y;
unsigned char npass;
unsigned char shift;
Часть кодов. в память заливаются данные по блочно(до 1 мб.) дальше проц работает с памятью и никакого обмена данными с компом больше не происходит!(ни туда ни обратно) мне нужно вынуть шнур USB из девайса и уйти спать. Беда в том что проц всё время хочет что то получить на вход и реакция на выдёргивания шнура USB может быть разной- то в сон уйдёт то сбоить начинает. если шнур не вынимать тоже может уснуть! скорее всего у меня ошибка в программе, он как то должен отключаться после получения данных.
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: C8051F320 и USB

Сообщение Ser60 »

Мммда, скорее всего ошибка где-то в программе МК или компа (или обоих). Их того определения переменных, что Вы выложили, это понять невозможно. Если программу писали не сами - спросите у ее автора. Если сами, найдите место где МК закончил получение данных из компа и посмотрите внутрисхемным отладчиком, что происходит в том месте. Может произошла ошибка при передаче денных и МК или комп хочет повторить передачу.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: C8051F320 и USB

Сообщение МитяРа »

cnccreator, вот на всякий случай описание на русском для 320-х..
https://sunduk.radiokot.ru/loadfile/?load_id=1320738976
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
cnccreator
Родился
Сообщения: 4
Зарегистрирован: Пн янв 12, 2009 17:42:55
Откуда: Украина. Львов

Re: C8051F320 и USB

Сообщение cnccreator »

Спасибо!
Ответить

Вернуться в «Интеграция с ПК»