打印

如何在PSOC Designer 5.1编译器写中断函数和初始化寄存器?

[复制链接]
1855|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
teabottle|  楼主 | 2012-3-17 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开接触PSOC,不想使用PSOC Designer中的用户模块和API,想直接在C代码中初始化各寄存器以使用PSOC的各功能,问题如下:

1) 如何查看在PSOC Designer中设置用户模块后生成的文件?

2) 用C代码初始化各寄存器前,在PSOC Designer中有没有关闭用户模块的选项?

3) 如果在PSOC Designer中设置了用户模块,同时又用C代码初始化各寄存器,这两者间有没有什么影响?

4) 如何用C写中断函数?
沙发
teabottle|  楼主 | 2012-3-17 23:19 | 只看该作者
我的理解如下:
   先在"boot.asm"文件中找到要使用的中断向量,如下:
   org 38h     ;Programmable Interval Timer Interrupt Vector
    // call void_handler   --------------------------->在此加上"call Interval_Timer_ISR",注:"Interval_Timer_ISR"是自定义的中断函数名
    reti

    然后在C文件中写中断函数,如下:

    #pragma interrupt_handler Interval_Timer_ISR  

    void Interval_Timer_ISR(void)
    {
     }
不知对否?

使用特权

评论回复
板凳
PSoC小子| | 2012-3-18 14:50 | 只看该作者
楼主的话很费解。 PSoC 芯片最大的特色无非是系统集成和简化设计,这两点主要归功于PSoC开发环境提供的众多模块和API,这可以让开发人员无需花费时间和繁杂的底层寄存器打交道而更只专注与应用和系统设计。如果既不想使用PD中提供的模块又不想使用模块的API,那么你选择PSoC1的动机是什么?

不管如何,问题还是要回答的:
1. 在PD中添加用户模块后,在编译时PD会自动有关此模块的.c .h(或 asm)文件。文件在 Workspace Explorer 窗口下可以找到。
2. 这个问题我没明白什么意思。如果你添加了某个模块,但是不使用模块的API的话,那么模块只占用硬件资源,不占用flash,SRAM 资源。
3. 如果设置了模块属性然后又在应用代码中码初始化各寄存器,以最后执行的代码设置为准。也就是模块设置以你的C初始化设置为准。
4. 请参阅KB http://www.cypress.com/?id=4&rID=36720

使用特权

评论回复
地板
Go_PSoC| | 2012-3-18 21:44 | 只看该作者
搂主是不是用其他mcu用惯了,对于psoc和designer的优势反而不适应了,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

1441

帖子

1

粉丝