реклама на сайте
подробности

 
 
> Проблема передачи элемента структуры в функцию.
paravozru
сообщение Aug 19 2013, 04:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 2-07-12
Пользователь №: 72 586



Ох ох ох опять возникла проблема опять долго не могу ее устранить.
Есть структура, описана в .h файле.
Код
typedef struct     {
    uint8_t                        Enable;          
    uint8_t                        Module_IntAddr;    
    uint8_t                        NumChannel;            
    uint8_t                        MODBUS_Addr;    
    uint8_t                         MODBUS_Func;    
    uint16_t                         FirsAddr;        
    uint16_t                        AmountNum;      
    uint16_t                         TimeOut;        
    uint16_t                        SettingAmounOk;    
} MBr_In_Type;


И в .с файле

Код
             In->NumChannel                     = 0;            
                      In->MODBUS_Addr                  = 3;  
                      In->MODBUS_Func             = 4;
                      In->FirsAddr                    = 6;
                      In->AmountNum              = 12;
                      In->TimeOut                        = 12;
                      In->SettingAmounOk               = 5;
              
                    FB_MODBUS_Buffer[0] = In->MODBUS_Addr;                
                    FB_MODBUS_Buffer[1] = In->MODBUS_Func;
                    FB_MODBUS_Buffer[2] = In->FirsAddr >> 8;                       
                    FB_MODBUS_Buffer[3] = In->FirsAddr & 0xFF;                     
                    FB_MODBUS_Buffer[4] = In->AmountNum >> 8;                    
                    FB_MODBUS_Buffer[5] = In->AmountNum & 0xFF;                  
                
                    CRCmb = crc16 (FB_MODBUS_Buffer, 8);
    
                    FB_MODBUS_Buffer[6] = (uint8_t)CRCmb;
                    FB_MODBUS_Buffer[7] = (uint8_t)(CRCmb >>8);
                    CreateNewOutPacket(FBPacket, PacketWaitSend, In->NumChannel, 8, FB_MODBUS_Buffer, 7);


Так вот когда я в функцию CreateNewOutPacket в область In->TimeOut пишу цифру, например 7, то декремент доходит до 0. Если я ссылаюсь на элемент структуры вот так
CreateNewOutPacket(FBPacket, PacketWaitSend, In->NumChannel, 8, FB_MODBUS_Buffer, In->TimeOut); то декремент идет вечно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01326 секунд с 7
ELECTRONIX ©2004-2016