OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3484|回复: 2

我想一次发送10个字节的数据,该用什么数据类型啊?

[复制链接]

28

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2015-12-26
在线时间
34 小时
发表于 2016-1-28 10:01:34 | 显示全部楼层 |阅读模式
1金钱
int main(void)
{       
        unsigned int table[9];
         int i=8,s=0,n,code,cook,end,num1,num2,num;  
        /* USART1 config */
        USART1_Config();
        KEY_Init();
        /* enable adc1 and config adc1 to dma mode */
        ADC1_Init();
        ADC3_Init();
        EXTIX_Init();
        while(1)
        {               
                  num1 = ADC_ConvertedValue <<16;
                        num2 = ADC_ConvertedValue_1<<4 ;
                        num =num1+num2;
                        cook=(0x6<<28)+num;
                        for(n=1;n<9;n++)
                        {
                                table[n]= code% i;
                                i=i+8;
                                s=s+table[n];
                        }
                        s=s+(0xf*2);
                        end=s%256;
                        code =0xff00000000+end+cook;       
                        printf("%X ", code);
                        Delay(0x100000);
        }         
}
现在的情况是这个样的,现在通过串口打印只能打印出end+cook的数据,就是打印不出0xff00000000,求解,程序已经附上!

最佳答案

查看完整内容[请看2#楼]

code 为int类型的,只能是32位,这样发肯定不行啊,如果你只是往外输出0xff00000000+end+cook的10个字符,你可以这样:int main() { int end,cook,code ; end=0x12; cook=0x34; code =end+cook; printf("0XFF%08X \n", code); return 0; }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-1-28
在线时间
25 小时
发表于 2016-1-28 10:01:35 | 显示全部楼层
本帖最后由 zpying2012 于 2016-1-28 10:41 编辑

code 为int类型的,只能是32位,这样发肯定不行啊,如果你只是往外输出0xff00000000+end+cook的10个字符,你可以这样:int main()
{
    int end,cook,code ;
        end=0x12;
        cook=0x34;
        code =end+cook;
        printf("0XFF%08X \n", code);
        return 0;
}



微信截图_20160128104007.png
回复

使用道具 举报

28

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2015-12-26
在线时间
34 小时
 楼主| 发表于 2016-1-31 09:49:29 | 显示全部楼层
zpying2012 发表于 2016-1-28 10:28
code 为int类型的,只能是32位,这样发肯定不行啊,如果你只是往外输出0xff00000000+end+cook的10个字符, ...

后来也是这么解决的,谢谢您!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 07:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表