|
Ламерские вопросы по Си, перехожу с асма |
|
|
|
May 19 2012, 06:34
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Добрый день. Копаю интернет, но все как-то безуспешно. Хочу написать функцию передачи строки по UART, работающую по прерыванию. Причем строка может быть как константа (храниться во флэш), так и переменная (храниться в СОЗУ). Код #define size_TX0 10 volatile static int8_t count_TX0;//кол-во непереданных символов в буфере UART0 volatile static int8_t index_TX0;//адресация в буфере передачи UART0 volatile static int8_t bufferTX0[size_TX0];//массив - буфер передачи UART0 /*==============================*/ void send_UART0(char *string) { int8_t i; for(i=0;*string!='\0';i++) { bufferTX0[i]=(*string); //сохраняем строку в буфер string++; count_TX0++; //считаем символы } index_TX0=0; //обнуляем адресацию в буфере sbi(UCSR0B,UDRIE0); //запускаем прерывание } /*==============================*/ ISR(USART0_UDRE_vect) { UDR0 = bufferTX0[index_TX0++]; // Берем данные из буффера. if(index_TX0==count_TX0) cbi(UCSR0B,UDRIE0); // Если все передали, то выкл.прерывание } /*==============================*/ Пишу send_UART0("12345");, но эти 12345 сохраняются в СОЗУ. Вопрос: как передать в функцию строку, чтобы она сохранилась во флэш? Спасибо.
Сообщение отредактировал Alt.F4 - May 19 2012, 06:36
|
|
|
|
Сообщений в этой теме
Alt.F4 Ламерские вопросы по Си May 19 2012, 06:34 Dog Pawlowa Если нужно флэш, то как-то так:
__flash char my_st... May 19 2012, 07:19 demiurg_spb Цитата(Dog Pawlowa @ May 19 2012, 10:19) ... May 19 2012, 20:32  defunct Строки наверное удобней выводить printf'ом. fo... May 21 2012, 00:33   ReAl Цитата(defunct @ May 21 2012, 03:33) Стро... May 23 2012, 10:31 ReAl Хм... Я не силён в терминологии разряда «цветовой ... May 19 2012, 07:54 Alt.F4 ЦитатаДве специальных написать проще и результат н... May 20 2012, 11:17 Alt.F4 Возник новый вопрос. Прочел, что хорошим тоном явл... May 23 2012, 03:11 Сергей Борщ QUOTE (Alt.F4 @ May 23 2012, 06:11) Что э... May 23 2012, 05:48 Alt.F4 Сергей Борщ, спасибо большое!!! May 23 2012, 06:15 Alt.F4 Имеем массив в EEPROM и указатель на него:
КодEEME... Jun 2 2012, 15:11 _Артём_ Цитата(Alt.F4 @ Jun 2 2012, 18:11) Имеем ... Jun 2 2012, 15:27 mempfis_ Цитата(Alt.F4 @ Jun 2 2012, 18:11) Имеем ... Jun 2 2012, 15:32 Alt.F4 Цитатаили так можно:
Кодunsigned int addr_EE;
addr... Jun 2 2012, 15:42 _Артём_ Цитата(Alt.F4 @ Jun 2 2012, 18:42) Если д... Jun 2 2012, 16:02 Alt.F4 ЦитатаEEAR = (unsigned short)addr_EE;Варнинг исчез... Jun 2 2012, 16:06 Alt.F4 Delete. Jun 3 2012, 12:55 Alt.F4 Здравствуйте.
Столкнулся с новой проблемой, прокля... Aug 6 2012, 09:58 MrYuran Цитата(Alt.F4 @ Aug 6 2012, 13:58) Как av... Aug 6 2012, 11:19 aaarrr Изложите проблему менее абстрактно: что именно нап... Aug 6 2012, 10:01 Alt.F4 aaarrr, ё-мана, это оказывается в Source Files (AV... Aug 6 2012, 10:14 _Pasha Цитата(Alt.F4 @ Aug 6 2012, 13:14) ё-мана... Aug 6 2012, 12:33  maksimp Цитата(_Pasha @ Aug 6 2012, 16:33) но их ... Aug 6 2012, 18:45   Сергей Борщ QUOTE (maksimp @ Aug 6 2012, 21:45) В про... Aug 6 2012, 19:00    dxp QUOTE (Сергей Борщ @ Aug 7 2012, 02:00) В... Aug 7 2012, 03:32    AHTOXA Цитата(Сергей Борщ @ Aug 7 2012, 01:00) В... Aug 7 2012, 03:43 Alt.F4 Подскажите, пожалуйста, как описать массив структу... Oct 4 2012, 07:03 MrYuran Цитата(Alt.F4 @ Oct 4 2012, 11:03) Подска... Oct 4 2012, 07:23 _Артём_ Цитата(Alt.F4 @ Oct 4 2012, 10:03) Подска... Oct 4 2012, 08:20 demiurg_spb Кодtypedef struct
{
uint8_t code;
const uint... Oct 4 2012, 12:02 Alt.F4 MrYuran, компилятор пишет: ../font.h:1362:... Oct 4 2012, 07:51 MrYuran Цитата(Alt.F4 @ Oct 4 2012, 11:51) MrYura... Oct 4 2012, 08:37 xemul Правильно пишет.
uint8_t * index
uint8_t font_0x31... Oct 4 2012, 08:20 Alt.F4 А как тогда объявить указатель на массив во флэш?
... Oct 4 2012, 08:28 _Артём_ Цитата(Alt.F4 @ Oct 4 2012, 11:28) з.ы. Р... Oct 4 2012, 08:41 Alt.F4 ЦитатаПравда FontTable тоже во флешь можно размест... Oct 4 2012, 18:29 _Артём_ Цитата(Alt.F4 @ Oct 4 2012, 21:29) Да, по... Oct 4 2012, 19:39  demiurg_spb Цитата(_Артём_ @ Oct 4 2012, 23:39) Не со... Oct 5 2012, 05:47   _Артём_ Цитата(demiurg_spb @ Oct 5 2012, 08:47) Н... Oct 5 2012, 14:13    demiurg_spb Цитата(_Артём_ @ Oct 5 2012, 18:13) Да оп... Oct 5 2012, 14:18 Alt.F4 Цитатаа чтобы читать из флеша или eeprom нужно чер... Oct 5 2012, 09:47 demiurg_spb Цитата(Alt.F4 @ Oct 5 2012, 13:47) Вроде ... Oct 5 2012, 10:39 demiurg_spb . Oct 5 2012, 12:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|