打印

关于松翰C_studio编译问题,及求资料。。

[复制链接]
3419|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tanglei1224|  楼主 | 2015-1-8 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要用松翰的2511做个小项目,以前没用过这个单片机,官网搜索资料安装了SN8 C studio后建了个新工程,导入了官网的timer0的例程,只有一个timer_to_interrupt.c文件。。

#include <sn8p2758.h>
unsigned int t0_buf;

void main (void)
{
//============================================================================
//        timer T0
//============================================================================
        FT0ENB=0;                        //Disable T0 timer
                                                                                       
        T0M=0x20;                         //Fcpu/64                                                                                                          

        T0C=0x64;                        //10ms        interrupt Once                                        
                                                                                               
        FT0ENB=1;                        // Enable T0 timer

        FT0IEN=1;                          // Enable T0 interrupt
        FT0IRQ=0;                        // Clean T0 interrupt request flag

        FGIE=1;                                // all interrupt operation       

while (1)
        {
//==================================================================
//       
//        User code
//
//==================================================================
        }
                                                               
}
       
//===============================================================================================
//    TO set 10ms interval time for T0 interrupt.   X'tal:4M  Fcpu=Fosc/4  T0RATE=010 (Fcpu/64)
//===============================================================================================
//
//        T0 initial value = 256-(T0 interrupt interval time*clocl)
//                         = 256-(10ms*4MHz /4 /64)
//                         = 256-(0.01*4*1000000/4/64)
//                         = 100
//                         = 64H
//

__interrupt isr (void)
{

        if((FT0IEN==1)&&(FT0IRQ==1))
        {
                FT0IRQ=0;
                T0C=0x64;

                t0_buf++;                //10ms add one time
   }

}


编译时候提示
error L2014 : missing interrupt entrance function(like void __interrupt [0x08] FunName(void))!
error L1006 : internal error.
修改成 void __interrupt isr (void) 也一样
不知哪地方问题?
另外比较奇怪的官网下的资料都是14pin,16pin封装的芯片,而这个芯片是2511-8pin的,找不到封装资料,求这个2511-8Pin的资料!!

相关帖子

沙发
排山倒海| | 2015-1-8 12:49 | 只看该作者
据说是Microchip申请了8pin MCU专利,SONIX的8pinMCU没有丝印吧?

使用特权

评论回复
板凳
hong10| | 2015-9-1 16:38 | 只看该作者
松翰优势推荐产品
SN8P2501D,SN8P2711B
单价绝对优势,货源稳定,保证原厂原货
松翰开发工具更新USB仿真器和烧录器

使用特权

评论回复
地板
huangyunfa| | 2016-1-15 16:19 | 只看该作者
Sonix单片机的中断应该这样写:
//我这个是SN8P2711的中断函数;
Void __interrupt [8] ISR(void)//进入中断后再查询中断标志
{
   if(FTC0IRQ)//定时器T0中断
      ;
   else(FADCIRQ)////AD转换中断
      ;
}

使用特权

评论回复
5
tomps| | 2016-3-4 16:37 | 只看该作者
error C2043 : 'intserv' can't call non __interrupt function 'T0INT'   C编译器不能在中断处理函数中再调用子函数?  怎么搞  求教?

使用特权

评论回复
6
lu50211| | 2016-3-28 08:08 | 只看该作者
堆栈不够,所以不能调用

使用特权

评论回复
7
justtest111| | 2017-5-18 16:09 | 只看该作者
中断入口改成 void __interrupt[0x08] interrupt_isr(void)

使用特权

评论回复
8
kthlq| | 2018-6-29 10:00 | 只看该作者
我也遇到这个问题,请问有解决的办法吗?谢谢

使用特权

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

本版积分规则

6

主题

31

帖子

1

粉丝