Комментарии

Комментарии: MicroBlaze: работа с прерываниями

7 октября 2019 г.· 6 сообщ.· старый URL

XUartLite_Recv(&Uart, (ReceiveBuffer ReceiveBufferPtr), 1); выдает ошибку, может быть XUartLite_Recv(&Uart, ((char*) ReceiveBufferPtr), 1); ?

sudar1977· 7 октября 2019 г.· #35
XUartLite_Recv(&Uart, (ReceiveBuffer ReceiveBufferPtr), 1); выдает ошибку, может быть     XUartLite_Recv(&Uart, ((char*) ReceiveBufferPtr), 1); ?
MetallFly· 24 октября 2019 г.· #52
Прошу прощения за несвоевременный ответ. В строчке, которую вы указали, закралась ошибка. Верно будет следующее:
XUartLite_Recv(&Uart, (ReceiveBuffer + ReceiveBufferPtr), 1);
sudar1977· 24 октября 2019 г.· #55
Проверил, работает. Но с точки зрения "юзабилити" есть пожелания: хорошо бы вначале давать приглашение со списком команд и не очень удобно вводить в конце команды 0-символ. Проверял через макрос "LED On$00" в программе Terminal v1.9. Более изящно, на мой взгляд, использовать следующую конструкцию:
//if(ReceiveBuffer [ReceiveBufferPtr]== '\0')
if(ReceiveBuffer [ReceiveBufferPtr]== 13)//проверка на CR
{
ReceiveBuffer [ReceiveBufferPtr]= '\0';//добавляем 0-символ вместо CR
......
тогда строчка заканчивается кодом CR.
MetallFly· 24 октября 2019 г.· #56
Спасибо за ваши замечания, в будущем будем стараться обращать на них внимание.
sudar1977· 24 октября 2019 г.· #58
Попробовал скопировать получившийся код целиком в комментарии (спойлером) пишет: "Длина комментария превышает 5000 символов". А как прикрепить файл тоже непонятно... dry
KeisN13· 24 октября 2019 г.· #59
Код сначала в текстовый редактор любой, чтобы убрать форматирование цветовое, а потом сюда. Файл вроде не добавляется ни как, можно расшарить в другом месте и оставить ссылку