搜索
bottom↓
回复: 3

请问icc中的#pragma data:code在什么情况下使用不会出错

[复制链接]

出0入0汤圆

发表于 2005-7-11 09:05:30 | 显示全部楼层 |阅读模式
最近作一个生成模拟音乐的小实验,发现音乐的音符在存储上面出了问题,不能使用#pragma data:code语句,不使用这条语句时,程序执行正确,使用时执行不正确



  请问

  在做LED显示的时候是可以用#pragma data:code 的,但是为什么在做模拟音乐的时候,不能采用 这种方式存放数据



LED数码管可以使用#pragma data:code来存储数码的字形表,是不是由于icc本身的问题访问二维数组不正确造成的?



    因为做LED显示的时候采用的是一维数组,做音乐的时候采用的是二维数组。







谢谢马老师!请帮忙看一下!





具体程序如下

//#pragma data:code            

const unsigned int music_data[][2]=

/*******************************************

       卡秋莎音乐数据{x,y}

       x:对应音符音阶(频率),0表示休止符

       y:对应音符节拍

********************************************/

{

{440,600} ,{494,200} ,{523,600} ,{440,200},

{523,400} ,{494,200} ,{440,200} ,{494,400}};   //省略部分音节

#pragma data:data

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2005-7-11 23:26:09 | 显示全部楼层
请将

const unsigned int music_data[][2]=



改为

const unsigned int music_data[7][2]=



试一下。

出0入0汤圆

 楼主| 发表于 2005-7-16 21:19:37 | 显示全部楼层
谢谢马老师在百忙之中抽出时间为我答疑解惑!



使用您说的方法,程序运行良好



但是能不能再请您再为我解释一下为什么会出现这种情况



谢谢!

出0入0汤圆

发表于 2005-7-17 16:36:25 | 显示全部楼层
music_data[][2]定义的为动态数组,music_data[7][2]定义静态数组。在程序存储器中应使用静态数组,这样编译程序才能正确的定位。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 23:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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