- 
	
- Все нормуль, все написанное работает, там L и H по одному адресу, но это мелочь   abivan(94 знак., 10.04.2013 15:54 - 15:59)
			
- rezident прав. кроме как через указатели никак. в структуру и в юнион не впихнуть уже определенную пременную, только указатель на нее. А все что будет впихнуто в структуру будет уже другой пременной - abivan(10.04.2013 16:20)
					
- Ну с LATBL я и без структур/юнионов справился - #define	LATBL (char *)&LATB, а вот с LATBH такое не проходит - #define LATBH (char *)(&LATB+1) дает +2 вместо +1 из-за правил арифметики указателей - MBedder(10.04.2013 16:36)
							
- Ну это совсем уж... #define LATBH *(((char *)(&LATB))+1) - vmp(10.04.2013 16:38)
									
- Да уж, замылил глаз скобками, спасибо. Снято! :)) - MBedder(10.04.2013 16:44 - 17:19)
											
- некрочиповский компилер, если эти приведения без volatile char *, может когда хочет "заоптимизировать", сцуко. - Vit(10.04.2013 18:03)
													
- В хедере так - extern volatile unsigned int  LATB __attribute__((__sfr__)); - поэтому не должон - MBedder(10.04.2013 18:13)
															
- дык в дефайне в приказном порядке к просто char* приводится - Vit(10.04.2013 18:27)
 
 
 - В хедере так - extern volatile unsigned int  LATB __attribute__((__sfr__)); - поэтому не должон - MBedder(10.04.2013 18:13)
															
 
 - некрочиповский компилер, если эти приведения без volatile char *, может когда хочет "заоптимизировать", сцуко. - Vit(10.04.2013 18:03)
													
 
 - Да уж, замылил глаз скобками, спасибо. Снято! :)) - MBedder(10.04.2013 16:44 - 17:19)
											
 
 - Ну это совсем уж... #define LATBH *(((char *)(&LATB))+1) - vmp(10.04.2013 16:38)
									
 
 - Ну с LATBL я и без структур/юнионов справился - #define	LATBL (char *)&LATB, а вот с LATBH такое не проходит - #define LATBH (char *)(&LATB+1) дает +2 вместо +1 из-за правил арифметики указателей - MBedder(10.04.2013 16:36)
							
 - а где инклуд фирменного хэдера? - Snaky(10.04.2013 15:56)
					
- рано отрапортовал, нехрена это не работает - abivan(10.04.2013 16:09)
							
- Не работает патамушто надо двухбайтную структуру в унионе определить. Или просто ругаеццо на переопределение? Во всяком случае, у rezident-а универсальная классика. Я про то же самое говорил. Или надо в хидере объявить такие фишки (так в Keil для  Гудвин(49 знак., 10.04.2013 16:18)
									
- Некрочип, сцуко, хедеры дурацкие поставляет, а лазить в них категорически не хочу, т.к это придется делать для каждого нового чипа - MBedder(10.04.2013 17:18)
											
- а мыши плакали и кололись... :-)  а потому что на серии(большой) хорошая цена. А хедеры... Хедеры как хедеры, ничего в них нет ни плохого, ни хорошего - abivan(10.04.2013 17:47)
													
- Хидеры, хидеры... все некрочипы - пидеры :)) - MBedder(10.04.2013 17:55)
 
 
 - а мыши плакали и кололись... :-)  а потому что на серии(большой) хорошая цена. А хедеры... Хедеры как хедеры, ничего в них нет ни плохого, ни хорошего - abivan(10.04.2013 17:47)
													
 
 - Некрочип, сцуко, хедеры дурацкие поставляет, а лазить в них категорически не хочу, т.к это придется делать для каждого нового чипа - MBedder(10.04.2013 17:18)
											
 
 - Не работает патамушто надо двухбайтную структуру в унионе определить. Или просто ругаеццо на переопределение? Во всяком случае, у rezident-а универсальная классика. Я про то же самое говорил. Или надо в хидере объявить такие фишки (так в Keil для  Гудвин(49 знак., 10.04.2013 16:18)
									
 - унутрях. LATB определено, значит все пучком - abivan(10.04.2013 16:01)
 
 - рано отрапортовал, нехрена это не работает - abivan(10.04.2013 16:09)
							
 
 - rezident прав. кроме как через указатели никак. в структуру и в юнион не впихнуть уже определенную пременную, только указатель на нее. А все что будет впихнуто в структуру будет уже другой пременной - abivan(10.04.2013 16:20)
					
 - Может все таки добавить extern при повторном определении той же переменой? - Make_Pic(10.04.2013 15:52)
			
- вот кстати в фирменном хэдере так  Snaky(150 знак., 10.04.2013 16:04)
					
- Я просто здесь extern не привел для простоты - в хедере, разумеется, оно есть, т.к. поставляется линкером, а на хедером - MBedder(10.04.2013 16:30)
 - Видимо уже кто то проехал по хидеру :) - Make_Pic(10.04.2013 16:07)
 
 
 - вот кстати в фирменном хэдере так  Snaky(150 знак., 10.04.2013 16:04)
					
 - Я бы сделал так rezident(362 знак., 10.04.2013 15:18)
 - нет С30 под рукой, а глянь нет ли в этом же казенном файле LATBbytes, что-то подобное помню - abivan(10.04.2013 15:19)
			
- Нет, только LATBbits, иначе бы не заморачивался - MBedder(10.04.2013 15:23)
 
 - Не из-за определения sfr ли это? Не связано ли с тем что регистр 16 битный, а засунуть хочешь байт? Этот проц позволяет побайтно писать? - Codavr(10.04.2013 15:07)
			
- Естественно - на асме я просто пишу mov.b blabla,LATB или mov.b blabla,LATB+1 - MBedder(10.04.2013 15:08)
 
 - В первую очередь надо сделать unsigned char L,H как структуру внутри union, иначе чары лягут друг на друга, и... - Юра(10.04.2013 14:56, 
) - Осторожно поинтересуюсь. У тебя определение LATBbytes видно из тех файлов где LATBbytes.L = data; стоят? - Codavr(10.04.2013 14:50)
			
- Разумеется - заинклужено, иначе бы ругань была "not defined" - MBedder(10.04.2013 14:51)
					
- А в .h однократно инклудится? Есть чонить типа такого:  Codavr(68 знак., 10.04.2013 14:58)
							
- Да, однократно - MBedder(10.04.2013 14:59)
									
- A этот хидер с юнионом в один файл инклудится или в несколько? - Apтём(10.04.2013 15:44)
 
 
 - Да, однократно - MBedder(10.04.2013 14:59)
									
 - unsigned int data = 0x0034; написать. - Codavr(10.04.2013 14:53)
							
- А data тут при чем? LATB - 16-битный порт, а я хочу работать ОТДЕЛЬНО с его 8-битными половинками - MBedder(10.04.2013 14:58)
									
- Пардон. Подглючивает меня. - Codavr(10.04.2013 14:59)
 
 
 - А data тут при чем? LATB - 16-битный порт, а я хочу работать ОТДЕЛЬНО с его 8-битными половинками - MBedder(10.04.2013 14:58)
									
 
 - А в .h однократно инклудится? Есть чонить типа такого:  Codavr(68 знак., 10.04.2013 14:58)
							
 
 - Разумеется - заинклужено, иначе бы ругань была "not defined" - MBedder(10.04.2013 14:51)
					
 - #typedef union {бла..бла}. Присвоить ему адрес LATB. Обращаться с помощью указателей. - Гудвин(10.04.2013 14:40)
			
- Это если не трогать "священную корову" ;) - Гудвин(10.04.2013 14:45)
 
 - Создать указатель на LATBbytes, присвоить ему адрес LATB с приведением типов, далее через указатель. - =AlexD=(10.04.2013 14:39)
			
- В режиме С++ можно попробовать извернуться с константным указателем, тогда накладных расходов не будет совсем. - =AlexD=(10.04.2013 14:42)
					
- Не, только С - MBedder(10.04.2013 14:46)
 
 
 - В режиме С++ можно попробовать извернуться с константным указателем, тогда накладных расходов не будет совсем. - =AlexD=(10.04.2013 14:42)
					
 
 - Все нормуль, все написанное работает, там L и H по одному адресу, но это мелочь   abivan(94 знак., 10.04.2013 15:54 - 15:59)