-
- Причём тут протокол обмена. Понятно что протокол надо использовать и не важно будь это стандартный или свой. В любом случае нужно передавать адрес переменной, а адрес это обычное число 8 или 16 разрядное. И как мне соотнести просто число с допутим Lonsik(285 знак., 24.08.2009 12:40)
- Разделите задачу на две части: передача по UARTу и форматирование данных. Такое разделение естественно и безопасно. "Форматтер" имеет на входе идентификатор переменной и тип операции. Его задачей является заполнение/считывание рабочего буфера UARTа. teap0t(165 знак., 24.08.2009 14:04)
- Ну так понятно, что UART передаёт буфер. Я не про UART спрашиваю, а как можно управлять расположением данных в RAM, кроме как используя __no_init? - Lonsik(24.08.2009 14:21)
- странный вы товарищ. вам столько людей говорит как не наступить на грабли, а вы говорите: "нет, вы таки объясните как мне убедить компилятор чтобы он мне разрешил на эти грабли прыгнуть с разбегу" :>>>> - Snaky(24.08.2009 16:14)
- Я ни с кем не спорю, я просто хочу разобратся и сделать так как будет более оптимально. - Lonsik(24.08.2009 16:26)
- Линкер в IAR имеет возможности назначения адресов и расположения кода в соответствии с вашими запросами (любыми). Ихние программисты считают, что расположение переменных в памяти следует отделять от манипулирования этими переменными. - teap0t(24.08.2009 14:33)
- Спасибо, теперь буду знать. - Lonsik(24.08.2009 16:25)
- странный вы товарищ. вам столько людей говорит как не наступить на грабли, а вы говорите: "нет, вы таки объясните как мне убедить компилятор чтобы он мне разрешил на эти грабли прыгнуть с разбегу" :>>>> - Snaky(24.08.2009 16:14)
- Ну так понятно, что UART передаёт буфер. Я не про UART спрашиваю, а как можно управлять расположением данных в RAM, кроме как используя __no_init? - Lonsik(24.08.2009 14:21)
- делать так это всё равно что на конверте ручкой написать GPS-координаты почтового ящика в который надо доставить письмо. - Snaky[mobile](24.08.2009 13:51, )
- Не делайте так. Передавайте идентификатор передаваемых данных, потом его проверяйте. Не передавайте физические адреса. Никогда. - =AlexD=(24.08.2009 13:25)
- А почему нельзя передавать физический адрес? Lonsik(153 знак., 24.08.2009 14:24)
- ну уж если очень хочется, то сделайте хотя бы так: Snaky(515 знак., 24.08.2009 14:56)
- Ну да согласен так более корректно. Спасибо. Lonsik(50 знак., 24.08.2009 15:02)
- остаточная кривизна предложенного метода в следующем: Snaky(1032 знак., 24.08.2009 15:28)
- Кто запрещает считать CRC пакета и добавлять в конец. А потом проверять в начале процедуры декодирования пакета. Lonsik(404 знак., 24.08.2009 15:52)
- ...а потом выяснится что байты во флоат надо складывать не в том порядке :> - Snaky(24.08.2009 16:02)
- Не выяснится, а если и выяснится то в процессе отладки. - Lonsik(24.08.2009 16:04)
- ...а потом выяснится что байты во флоат надо складывать не в том порядке :> - Snaky(24.08.2009 16:02)
- Кто запрещает считать CRC пакета и добавлять в конец. А потом проверять в начале процедуры декодирования пакета. Lonsik(404 знак., 24.08.2009 15:52)
- остаточная кривизна предложенного метода в следующем: Snaky(1032 знак., 24.08.2009 15:28)
- Ну да согласен так более корректно. Спасибо. Lonsik(50 знак., 24.08.2009 15:02)
- Ну почему нельзя... можно. Никто не вправе запретить вам хождение по граблям и стрельбу себе по ногам из верёвки. Вот своему ребёнку, я могу запретить совать пальцы в дверную щель. А Вам - только посоветовать этого не делать. - =AlexD=(24.08.2009 14:38)
- Ну понятно. Просто все пишут так не делай, делай так, и никто не пишет почему. - Lonsik(24.08.2009 15:01)
- <занудливо> в случае простой ошибки в управляющей программе Вы запишете по произвольному адресу ОЗУ некорректные данные, из-за чего программа сойдёт с ума, Терминатор выйдет из под контроля и свернёт башку своему создателю и всем, до кого сможет =AlexD=(38 знак., 24.08.2009 15:27)
- По умолчанию предполагается, что человек, задающий вопрос на форуме, уже попытался найти ответ самостоятельно. Незнание ответа на это "почему" означает, что вы не читали никаких книг по данному вопросу, а сразу начали отвлекать посторонних людей teap0t(100 знак., 24.08.2009 15:12)
- Ясно, больше не буду отвлекать посторонних людей. - Lonsik(24.08.2009 16:03)
- Ну понятно. Просто все пишут так не делай, делай так, и никто не пишет почему. - Lonsik(24.08.2009 15:01)
- ну уж если очень хочется, то сделайте хотя бы так: Snaky(515 знак., 24.08.2009 14:56)
- А почему нельзя передавать физический адрес? Lonsik(153 знак., 24.08.2009 14:24)
- Разделите задачу на две части: передача по UARTу и форматирование данных. Такое разделение естественно и безопасно. "Форматтер" имеет на входе идентификатор переменной и тип операции. Его задачей является заполнение/считывание рабочего буфера UARTа. teap0t(165 знак., 24.08.2009 14:04)
- Причём тут протокол обмена. Понятно что протокол надо использовать и не важно будь это стандартный или свой. В любом случае нужно передавать адрес переменной, а адрес это обычное число 8 или 16 разрядное. И как мне соотнести просто число с допутим Lonsik(285 знак., 24.08.2009 12:40)