查看: 7948|回复: 21

解决PSoCRocks在PSoC Creator 2.0下的兼容问题

[复制链接]
  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-16 01:53:29 | 显示全部楼层 |阅读模式
    分享到:
      之前刚拿到板子时,最想做的一件事就是把官方提供的几个典型例子下进去看一下。不过一下就出问题了,例子是1.0版本的,而我的软件是2.0的,版本改后,好多器件不兼容了。现在闲了,想对例子进行改造,好让用2.0的都可以正常演示。于是我就对1.0的器件进行了更新和替换,解决了几个问题,比如数字和模拟端口都用2.0的引脚器件进行替换了,ADC升级了(还要重选下出入范围),但是控制寄存器至今有个问题,编译通不过,说是某个模块没定义,如下:
    未命名.jpg
    这个写控制寄存器可以在源文件中找到函数定义,函数如下:
    1. void LED_Control_Reg_Write(uint8 control)
    2. {
    3. LED_Control_Reg_Control = control;
    4. }
    复制代码
    在头文件中可以看到LED_Control_Reg_Control 的定义:
    1. #define LED_Control_Reg_Control (* (reg8 *) LED_Control_Reg_ctrl_reg__CONTROL_REG )
    复制代码
    那 LED_Control_Reg_ctrl_reg__CONTROL_REG 有时什么呢,用搜索功能搜索了增个工程却没有找到任何一个地方还出现 LED_Control_Reg_ctrl_reg__CONTROL_REG ,猜想这应该是问题的所在,但却不知道为什么会是这样,有谁可以帮忙解决下吗?

    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-16 10:43:10 | 显示全部楼层
    ht868788 发表于 2012-12-16 10:25
    随板附带的5个例程都跑过一遍,但是是用1.5来实现的,2.0的没试过,好像很多组件需要升级,相关的寄存器应 ...

    在头文件中有定义,定义为
    1. #define LED_Control_Reg_Control (* (reg8 *) LED_Control_Reg_ctrl_reg__CONTROL_REG )
    复制代码
    但是LED_Control_Reg_ctrl_reg__CONTROL_REG的定义在整个工程里却找不到,寄存器参考手册刚才看了下,没找到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-16 11:27:41 | 显示全部楼层
    ht868788 发表于 2012-12-16 11:03
    顺便回过头来把经验更新一下我对寄存器控制也是似懂非懂

    好的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    12 小时前
  • 签到天数: 1625 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    发表于 2012-12-17 10:08:29 | 显示全部楼层
    本帖最后由 nemon 于 2012-12-17 10:10 编辑

    顺着include的顺序反方向找就可以了:
    看cyfitter.h,有
    1. #define LED_Control_Reg_ctrl_reg__CONTROL_REG CYDEV_UWRK_UWRK8_B1_UDB10_CTL
    复制代码
    看cydevice.h,有:
    1. #define CYDEV_UWRK_UWRK8_B1_UDB10_CTL 0x0000657au
    复制代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-17 11:20:19 | 显示全部楼层
    nemon 发表于 2012-12-17 10:08
    顺着include的顺序反方向找就可以了:
    看cyfitter.h,有看cydevice.h,有:

    我用了搜索,而且是整个工作空间,都没找到,怎么回事
    未命名.jpg 未命名.jpg
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-17 11:28:42 | 显示全部楼层
    nemon 发表于 2012-12-17 10:08
    顺着include的顺序反方向找就可以了:
    看cyfitter.h,有看cydevice.h,有:

    手动看了下也没有
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    12 小时前
  • 签到天数: 1625 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    发表于 2012-12-17 11:38:26 | 显示全部楼层
    ming1006 发表于 2012-12-17 11:28
    手动看了下也没有

    用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-17 12:06:41 | 显示全部楼层
    nemon 发表于 2012-12-17 11:38
    用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。 ...

    应该是,我直接拿未编译的看了下,是有定义的,但修改完后在2.0上就找不到了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-17 12:55:31 | 显示全部楼层
    nemon 发表于 2012-12-17 11:38
    用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。 ...

    刚才试了下,直接更新cy_boot就可以编译通过,不知道你在“天冷了,跑几步”你的工程是不是这么改的,不然应该编译通不过吧(你图上红色的字都还在)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    12 小时前
  • 签到天数: 1625 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    发表于 2012-12-17 14:31:58 | 显示全部楼层
    红字只是提醒,编译时报一个waring,不影响的
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 19:03 , Processed in 0.193700 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.