搜索
bottom↓
楼主: armok

AVR已死,建议马老师编写M051的入门资料,快速进入M051新纪元...

[复制链接]
(340537573)

出0入0汤圆

发表于 2010-10-18 17:47:55 | 显示全部楼层
回复【394楼】machao  
这么简单的东西为什么还需要再TW生产。是新唐公司要保密技术,还是准备靠工具赚钱?或是新唐国内工程师的技术跟不上?还是出于其它战略上的考虑。
-----------------------------------------------------------------------

真不觉得靠工具赚钱能有出息。
也许怕别人拿过去,横改竖改,改的新唐自己都不认识了,生产品质也难控管。搞不好让客户调试出问题,就会乱怀疑芯片。
所以就是别人可以做,不关我事,一种自我保护需要吧。(以上是俺臆想的答案,马老师莫怪,俺调程序bug也经常有臆想的毛病,呵呵)
(340534328)

出0入0汤圆

发表于 2010-10-18 18:42:00 | 显示全部楼层
M051点亮VFD成功,刷新可以>1000帧/秒


(原文件名:SSL10822.jpg)


(原文件名:SSL10824.jpg)
(340531844)

出0入0汤圆

发表于 2010-10-18 19:23:24 | 显示全部楼层
mark一下。
(340525910)

出0入0汤圆

发表于 2010-10-18 21:02:18 | 显示全部楼层
回复【396楼】X-Hawk
回复【394楼】machao   
这么简单的东西为什么还需要再tw生产。是新唐公司要保密技术,还是准备靠工具赚钱?或是新唐国内工程师的技术跟不上?还是出于其它战略上的考虑。
-----------------------------------------------------------------------
真不觉得靠工具赚钱能有出息。
也许怕别人拿过去,横改竖改,改的新唐自己都不认识了,生产品质也难控管。搞不好让客户调试出问题,就会乱怀疑芯片。
所以就是别人可以做,不关我事,一种自我保护需要吧。(以上是俺臆想的答案,马老师莫怪,俺调程序bug也经常有臆想的毛病,呵呵)

-----------------------------------------------------------------------
询问你与南京芯成邦*******公司的关系,该公司也代理新唐的产品。从你的许多帖子看出,你对M051已经非常熟悉了。那么请教一下,你编写代码是采用新唐的提供的库,还是喜欢直接针对寄存器操作。各自有什么特点,根据你的经验认为哪种方法好?
(340524921)

出0入0汤圆

发表于 2010-10-18 21:18:47 | 显示全部楼层
马老师您好,经验不敢当,芯成邦的老板是我的朋友,很熟悉。
我在芯唐,nu-link的工具的策略,属肉食者谋之,俺只是乱想。

编写代码还是比较喜欢用函数库,直接套用比较方便。
如需检查问题,会直接尝试到函数库里的寄存器操作,
如果碰到内存/速度要求比较高的场合,也会被迫用寄存器,
例如用GPIO模拟出某个快速的时序,用函数库的话,有函数调用的开销,不划算。
(340451091)

出0入0汤圆

发表于 2010-10-19 17:49:17 | 显示全部楼层
回复【400楼】X-Hawk
-----------------------------------------------------------------------
怎么称呼你呢?你应该是我们新唐上海这边的吧? 呵呵,后续OURDEV这边全靠你支持了
(340434789)

出0入0汤圆

发表于 2010-10-19 22:20:59 | 显示全部楼层
支持
(340426311)

出0入0汤圆

发表于 2010-10-20 00:42:17 | 显示全部楼层
支持&关注……
(340168009)

出0入0汤圆

发表于 2010-10-23 00:27:19 | 显示全部楼层
哈哈~~~开始玩nuc120~~~
调试通过
(340151337)

出0入0汤圆

发表于 2010-10-23 05:05:11 | 显示全部楼层

发现菜农又跑来了
(340140410)

出0入0汤圆

发表于 2010-10-23 08:07:18 | 显示全部楼层
又见菜农!!!
(340136868)

出0入0汤圆

发表于 2010-10-23 09:06:20 | 显示全部楼层
mark
(340134725)

出0入0汤圆

发表于 2010-10-23 09:42:03 | 显示全部楼层
mark
(340127153)

出0入0汤圆

发表于 2010-10-23 11:48:15 | 显示全部楼层
晕!俺来马老师的地盘不犯法吧。
别的地方估计要坐牢了…
(340125924)

出0入0汤圆

发表于 2010-10-23 12:08:44 | 显示全部楼层
与时俱进!
(340115973)

出0入0汤圆

发表于 2010-10-23 14:54:35 | 显示全部楼层
这是关键问题,书一般来说无所谓,通用的知识都会,深奥的只有实践
(340115886)

出0入0汤圆

发表于 2010-10-23 14:56:02 | 显示全部楼层
我也顶个!!
(338149415)

出0入0汤圆

发表于 2010-11-15 09:10:33 | 显示全部楼层
顶起
(337865535)

出0入0汤圆

发表于 2010-11-18 16:01:53 | 显示全部楼层
回复【楼主位】armok 阿莫
-----------------------------------------------------------------------

谁知到过断时间M051是不是也会死呢?到时候又得再学新的单片机了,郁闷,怎么会这样呢。
(337824300)

出0入0汤圆

发表于 2010-11-19 03:29:08 | 显示全部楼层

(原文件名:未标题-2 拷贝.jpg)

外型类似下图的USB-ISP,接口同原厂完全兼容。


(原文件名:图4-13 USB-ISP实物图.jpg)
(337812298)

出0入0汤圆

发表于 2010-11-19 06:49:10 | 显示全部楼层
顶起来
(337811070)

出0入0汤圆

发表于 2010-11-19 07:09:38 | 显示全部楼层

Nu-Link-Ma
(337803426)

出0入0汤圆

发表于 2010-11-19 09:17:02 | 显示全部楼层
又见HOTPOWER!
(337800182)

出0入0汤圆

发表于 2010-11-19 10:11:06 | 显示全部楼层
关注中
(337795189)

出0入0汤圆

发表于 2010-11-19 11:34:19 | 显示全部楼层
回复【417楼】machao

(原文件名:未标题-2 拷贝.jpg)
引用图片

-----------------------------------------------------------------------

请问马老师,这个调试器的USB端有没有方头版的?我见JLINK和ULINK的都是方头的。
(337791744)

出0入0汤圆

发表于 2010-11-19 12:31:44 | 显示全部楼层
这个是山寨板的DD,基本是拷贝原厂的电路,由于原厂提供了电路和固件,所以我只是改变了外型。做这个也是学习。这个实际上也是一个NUC120的小评估板。

原厂的USB采用转接线,板上是小形的USB座,我的山寨版准备省掉USB的连线,直接插在PC的USB口上,能省一点就省一点。另外普通平头的USB连接线到处都有,比方头的通用。我现在学校的学生学习AVR,使用的也是类似的USB-ISP下载线,也是直接插在PC上的。这个DD类似这个的外型,接口与原厂完全相同:

(原文件名:图4-13 USB-ISP实物图.jpg)


今天做版,已经申请到了样片,我会及时通报进展情况。
(337791473)

出0入0汤圆

发表于 2010-11-19 12:36:15 | 显示全部楼层
顶!
(337791467)

出0入0汤圆

发表于 2010-11-19 12:36:21 | 显示全部楼层
在历史的新纪元上,我也来留名!
(337790724)

出0入0汤圆

发表于 2010-11-19 12:48:44 | 显示全部楼层
顶马老师!
(336676469)

出0入0汤圆

发表于 2010-12-2 10:19:39 | 显示全部楼层
我这也收到一块样板,正在研究中,希望马老师能出一个新手级别的教材让我们来学学
(336668786)

出0入0汤圆

发表于 2010-12-2 12:27:42 | 显示全部楼层
关注中,随时跟进!
(336507321)

出0入0汤圆

发表于 2010-12-4 09:18:47 | 显示全部楼层
M0功耗太大,还是不能替代avr adc的工艺水平也比较低
(336482167)

出0入0汤圆

发表于 2010-12-4 16:18:01 | 显示全部楼层
又要转型了
(336422368)

出0入0汤圆

发表于 2010-12-5 08:54:40 | 显示全部楼层
马潮教授:
俺已将nuc1xx和m05x的头文件做完。
由于它们都属于cortex-m0,前者无ebi接口,后者无usb,rtc,i2s,can等模块。
故后者是前者的一个子集。
前者用了很多的时间,后者只用了不到两个小时,几乎是全部转抄。
所以俺准备将其和合为一个通用的头文件,内部自动识别。
(336407263)

出0入0汤圆

发表于 2010-12-5 13:06:25 | 显示全部楼层
回复【431楼】hotpower 菜农
马潮教授:
俺已将nuc1xx和m05x的头文件做完。
由于它们都属于cortex-m0,前者无ebi接口,后者无usb,rtc,i2s,can等模块。
故后者是前者的一个子集。
前者用了很多的时间,后者只用了不到两个小时,几乎是全部转抄。
所以俺准备将其和合为一个通用的头文件,内部自动识别。
-----------------------------------------------------------------------

谢谢你的捧场。

我喜欢从最底层开始玩(熟悉)东西。比如先做转换板,下载器等。

开始还是以直接寄存器操作为主,这样可以更加了解芯片的特点和使用的方法与技巧。

比如下面的PWM初始化代码:

//PWM设置:使用B组4个PWM(4/5/6/7)输出P2.4/P2.5/P2.6/P2.7
        P2_MFP = 0x0000f000;                                // P2.4/P2.5/P2.6/P2.7切换成PWM输出
        P2_PMD = 0x000055ff;                                // P2.4/P2.5/P2.6/P2.7输出模式

        CLKSEL2 = 0xFFFFFFAF;   //0xFFFFFFAC;                // 选择PWM(4/5/6/7)时钟输入为HCLK
        APBCLK |= PWM45_CLKEN | PWM67_CLKEN|FDIV_CLKEN;        // 同步开启PWM4/5/6/7 工作

        FRQDIV = 0x00000012;

        PPRB = 0x00000101;                                        // 预分频2(PPR+1)
        CSRB = 0x00004444;                                        // 选择CSR3/CSR2/CSR1/CSR0为1,1分频for pwm7/6/5/4
        PCRB = 0x08080808;                                        // 设置PWM5/6/7/8 为循环模式
        CNR0B = 0x000000ff;
        CMR0B = 0x00000080;
        CNR1B = 0x000000ff;
        CMR1B = 0x00000080;
        CNR2B = 0x000000ff;
        CMR2B =        0x00000080;
        CNR3B = 0x000000ff;
        CMR3B = 0x00000080;
        POEB = 0x0000000F;
        PCRB |= 0x01010101;                                // PWM5/6/7/8启动

    在直接调试中就发现,开启PWM的时钟(下面2句)必须放在设置PWM相关寄存器的前面。如果放在后面,那么前面设置PWM相关寄存器的操作根本就是无效的!也就是说,必须先开启PWM的时钟,然后才能设置PWM的相关寄存器。这个问题我看了多遍手册,没有发现有解释和说明。

        CLKSEL2 = 0xFFFFFFAF;   //0xFFFFFFAC;                // 选择PWM(4/5/6/7)时钟输入为HCLK
        APBCLK |= PWM45_CLKEN | PWM67_CLKEN|FDIV_CLKEN;        // 同步开启PWM4/5/6/7 工作

由于直接对寄存器操作,单步在线调试方便,也非常容易找到问题所在。
(336404738)

出0入0汤圆

发表于 2010-12-5 13:48:30 | 显示全部楼层
老马识途,前面带路,我也跟进了。
(336366672)

出0入0汤圆

发表于 2010-12-6 00:22:56 | 显示全部楼层
回复【432楼】machao
回复【431楼】hotpower 菜农  
马潮教授:  
俺已将nuc1xx和m05x的头文件做完。  
由于它们都属于cortex-m0,前者无ebi接口,后者无usb,rtc,i2s,can等模块。  
故后者是前者的一个子集。  
前者用了很多的时间,后者只用了不到两个小时,几乎是全部转抄。  
所以俺准备将其和合为一个通用的头文件,内部自动识别。
-----------------------------------------------------------------------
谢谢你的捧场。
我喜欢从最底层开始玩(熟悉)东西。比如先做转换板,下载器等。
开始还是以直接寄存器操作为主,这样可以更加了解芯片的特点和使用的方法与技巧。
比如下面的pwm初始化代码:
//pwm设置:使用b组4个pwm(4/5/6/7)输出p2.4/p2.5/p2.6/p2.7
......
-----------------------------------------------------------------------

马潮教授:
今天没空,俺保留自己的观点。

新版的PWM是这样的:
//----------------------------------------------------//
typedef enum
{
    PWM_PPR_CP01  = 0,//PWM定时器0&1的时钟预分频0
    PWM_PPR_CP23  = 8,//PWM定时器2&3的时钟预分频2
    PWM_PPR_DZI01 = 16,//PWM0与PWM1的死区间隔寄存器
    PWM_PPR_DZI23 = 24//PWM2与PWM3的死区间隔寄存器
}NU_PWM_PPR_ENUM;

typedef enum
{
    PWM_PPR03_CP01  = 0,//PWM定时器0&1的时钟预分频0
    PWM_PPR03_CP23  = 8,//PWM定时器2&3的时钟预分频2
    PWM_PPR03_DZI01 = 16,//PWM0与PWM1的死区间隔寄存器
    PWM_PPR03_DZI23 = 24//PWM2与PWM3的死区间隔寄存器
}NU_PWM_PPR03_ENUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_PPR_T        Bits;
}NU_PWM_PPR_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PPR47_CP45  = 0,//PWM定时器4&5的时钟预分频0
    PWM_PPR47_CP67  = 8,//PWM定时器6&7的时钟预分频2
    PWM_PPR47_DZI45 = 16,//PWM4与PWM5的死区间隔寄存器
    PWM_PPR47_DZI67 = 24//PWM6与PWM7的死区间隔寄存器
}NU_PWM_PPR47_ENUM;

typedef struct
{
    __IO NU_REG  CP45:8;
    __IO NU_REG  CP67:8;
    __IO NU_REG  DZI45:8;
    __IO NU_REG  DZI67:8;
}NU_PWM_PPR_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_PPR_Bits   Bits;
}NU_PWM_PPR47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CSR_CSR0 = 0,//定时器0时钟源选择
    PWM_CSR_CSR1 = 4,//定时器1时钟源选择
    PWM_CSR_CSR2 = 8,//定时器2时钟源选择
    PWM_CSR_CSR3 = 12//定时器3时钟源选择
}NU_PWM_CSR_ENUM;

typedef enum
{
    PWM_CSR03_CSR0 = 0,//定时器0时钟源选择
    PWM_CSR03_CSR1 = 4,//定时器1时钟源选择
    PWM_CSR03_CSR2 = 8,//定时器2时钟源选择
    PWM_CSR03_CSR3 = 12//定时器3时钟源选择
}NU_PWM_CSR03_ENUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_CSR_T        Bits;
}NU_PWM_CSR_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CSR47_CSR4 = 0,//定时器4时钟源选择
    PWM_CSR47_CSR5 = 4,//定时器5时钟源选择
    PWM_CSR47_CSR6 = 8,//定时器6时钟源选择
    PWM_CSR47_CSR7 = 12//定时器7时钟源选择
}NU_PWM_CSR47_ENUM;

typedef struct
{
    __IO NU_REG  CSR4:3;
    __I  NU_REG  RESERVE0:1;
    __IO NU_REG  CSR5:3;
    __I  NU_REG  RESERVE1:1;
    __IO NU_REG  CSR6:3;
    __I  NU_REG  RESERVE2:1;
    __IO NU_REG  CSR7:3;
    __I  NU_REG  RESERVE3:17;
}NU_PWM_CSR47_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_CSR47_Bits Bits;
}NU_PWM_CSR47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PCR_CH0EN  = 0,//PWM定时器0使能/禁止
    PWM_PCR_CH0INV = 2,//PWM定时器0反向打开/关闭
    PWM_PCR_CH0MOD = 3,//PWM定时器0自动加载/单触发模式选择
    PWM_PCR_DZEN01 = 4,//死区发生器0使能/禁止
    PWM_PCR_DZEN23 = 5,//死区发生器2使能/禁止
    PWM_PCR_CH1EN = 8,//PWM定时器1使能/禁止
    PWM_PCR_CH1INV = 10,//PWM定时器1反向打开/关闭
    PWM_PCR_CH1MOD = 11,//PWM定时器1自动重载/单触发模式选择
    PWM_PCR_CH2EN = 16,//PWM定时器2使能/禁止
    PWM_PCR_CH2INV = 18,//PWM定时器2反向打开/关闭
    PWM_PCR_CH2MOD = 19,//PWM定时器2自动重载/单触发模式选择
    PWM_PCR_CH3EN = 24,//PWM定时器3使能/禁止
    PWM_PCR_CH3INV = 26,//PWM定时器3反向打开/关闭
    PWM_PCR_CH3MOD = 27,//PWM定时器3自动重载/单触发模式选择
}NU_PWM_PCR_ENUM;

typedef enum
{
    PWM_PCR03_CH0EN  = 0,//PWM定时器0使能/禁止
    PWM_PCR03_CH0INV = 2,//PWM定时器0反向打开/关闭
    PWM_PCR03_CH0MOD = 3,//PWM定时器0自动加载/单触发模式选择
    PWM_PCR03_DZEN01 = 4,//死区发生器0使能/禁止
    PWM_PCR03_DZEN23 = 5,//死区发生器2使能/禁止
    PWM_PCR03_CH1EN = 8,//PWM定时器1使能/禁止
    PWM_PCR03_CH1INV = 10,//PWM定时器1反向打开/关闭
    PWM_PCR03_CH1MOD = 11,//PWM定时器1自动重载/单触发模式选择
    PWM_PCR03_CH2EN = 16,//PWM定时器2使能/禁止
    PWM_PCR03_CH2INV = 18,//PWM定时器2反向打开/关闭
    PWM_PCR03_CH2MOD = 19,//PWM定时器2自动重载/单触发模式选择
    PWM_PCR03_CH3EN = 24,//PWM定时器3使能/禁止
    PWM_PCR03_CH3INV = 26,//PWM定时器3反向打开/关闭
    PWM_PCR03_CH3MOD = 27,//PWM定时器3自动重载/单触发模式选择
}NU_PWM_PCR03_ENUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_PCR_T        Bits;
}NU_PWM_PCR_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PCR47_CH4EN  = 0,//PWM定时器4使能/禁止
    PWM_PCR47_CH4INV = 2,//PWM定时器4反向打开/关闭
    PWM_PCR47_CH4MOD = 3,//PWM定时器4自动加载/单触发模式选择
    PWM_PCR47_DZEN45 = 4,//死区发生器4使能/禁止
    PWM_PCR47_DZEN67 = 5,//死区发生器6使能/禁止
    PWM_PCR47_CH5EN = 8,//PWM定时器5使能/禁止
    PWM_PCR47_CH5INV = 10,//PWM定时器5反向打开/关闭
    PWM_PCR47_CH5MOD = 11,//PWM定时器5自动重载/单触发模式选择
    PWM_PCR47_CH6EN = 16,//PWM定时器6使能/禁止
    PWM_PCR47_CH6INV = 18,//PWM定时器6反向打开/关闭
    PWM_PCR47_CH6MOD = 19,//PWM定时器6自动重载/单触发模式选择
    PWM_PCR47_CH7EN = 24,//PWM定时器7使能/禁止
    PWM_PCR47_CH7INV = 26,//PWM定时器7反向打开/关闭
    PWM_PCR47_CH7MOD = 27,//PWM定时器7自动重载/单触发模式选择
}NU_PWM_PCR47_ENUM;

typedef struct
{
    __IO NU_REG  CH4EN:1;
    __I  NU_REG  RESERVE0:1;
    __IO NU_REG  CH4INV:1;
    __IO NU_REG  CH4MOD:1;
    __IO NU_REG  DZEN45:1;
    __IO NU_REG  DZEN67:1;
    __I  NU_REG  RESERVE1:2;
    __IO NU_REG  CH5EN:1;
    __I  NU_REG  RESERVE2:1;
    __IO NU_REG  CH5INV:1;
    __IO NU_REG  CH5MOD:1;
    __I  NU_REG  RESERVE3:4;
    __IO NU_REG  CH6EN:1;
    __I  NU_REG  RESERVE4:1;
    __IO NU_REG  CH6INV:1;
    __IO NU_REG  CH6MOD:1;
    __I  NU_REG  RESERVE5:4;
    __IO NU_REG  CH7EN:1;
    __I  NU_REG  RESERVE6:1;
    __IO NU_REG  CH7INV:1;
    __IO NU_REG  CH7MOD:1;
    __I  NU_REG  RESERVE7:4;   
}NU_PWM_PCR47_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_PCR47_Bits Bits;
}NU_PWM_PCR47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PBCR_BCn = 0
}NU_PWM_PBCR_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_PBCR_T        Bits;
}NU_PWM_PBCR_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PIER_PWMIE0 = 0,//PWM定时器0中断使能
    PWM_PIER_PWMIE1 = 1,//PWM定时器1中断使能
    PWM_PIER_PWMIE2 = 2,//PWM定时器2中断使能
    PWM_PIER_PWMIE3 = 3 //PWM定时器3中断使能
}NU_PWM_PIER_NUM;

typedef enum
{
    PWM_PIER03_PWMIE0 = 0,//PWM定时器0中断使能
    PWM_PIER03_PWMIE1 = 1,//PWM定时器1中断使能
    PWM_PIER03_PWMIE2 = 2,//PWM定时器2中断使能
    PWM_PIER03_PWMIE3 = 3 //PWM定时器3中断使能
}NU_PWM_PIER03_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_PIER_T        Bits;
}NU_PWM_PIER_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PIER47_PWMIE4 = 0,//PWM定时器4中断使能
    PWM_PIER47_PWMIE5 = 1,//PWM定时器5中断使能
    PWM_PIER47_PWMIE6 = 2,//PWM定时器6中断使能
    PWM_PIER47_PWMIE7 = 3 //PWM定时器7中断使能
}NU_PWM_PIER47_NUM;

typedef struct
{
    __IO NU_REG  PWMIE4:1;
    __IO NU_REG  PWMIE5:1;
    __IO NU_REG  PWMIE6:1;
    __IO NU_REG  PWMIE7:1;
        __I  NU_REG  RESERVE:28;
}NU_PWM_PIER47_Bits;

typedef volatile union
{
  NU_REG             Regs;
  NU_PWM_PIER47_Bits Bits;
}NU_PWM_PIER47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PIIR_PWMIF0 = 0,//PWM定时器0中断标志
    PWM_PIIR_PWMIF1 = 1,//PWM定时器1中断标志
    PWM_PIIR_PWMIF2 = 2,//PWM定时器2中断标志
    PWM_PIIR_PWMIF3 = 3 //PWM定时器3中断标志
}NU_PWM_PIIR_NUM;

typedef enum
{
    PWM_PIIR03_PWMIF0 = 0,//PWM定时器0中断标志
    PWM_PIIR03_PWMIF1 = 1,//PWM定时器1中断标志
    PWM_PIIR03_PWMIF2 = 2,//PWM定时器2中断标志
    PWM_PIIR03_PWMIF3 = 3 //PWM定时器3中断标志
}NU_PWM_PIIR03_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_PIIR_T        Bits;
}NU_PWM_PIIR_T;
//----------------------------------------------------//
typedef enum
{
    PWM_PIIR47_PWMIF4 = 0,//PWM定时器4中断标志
    PWM_PIIR47_PWMIF5 = 1,//PWM定时器5中断标志
    PWM_PIIR47_PWMIF6 = 2,//PWM定时器6中断标志
    PWM_PIIR47_PWMIF7 = 3 //PWM定时器7中断标志
}NU_PWM_PIIR47_NUM;

typedef struct
{
    __IO NU_REG  PWMIF5:1;
    __IO NU_REG  PWMIF6:1;
    __IO NU_REG  PWMIF7:1;
    __IO NU_REG  PWMIF8:1;
        __I  NU_REG  RESERVE:28;
}NU_PWM_PIIR47_Bits;

typedef volatile union
{
  NU_REG             Regs;
  NU_PWM_PIIR47_Bits Bits;
}NU_PWM_PIIR47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CCR0_INV0 = 0,//通道0反向打开/关闭
    PWM_CCR0_CRL_IE0 = 1,//通道0向上计数中断使能
    PWM_CCR0_CFL_IE0 = 2,//通道0向下计数中断使能
    PWM_CCR0_CAPCH0EN = 3,//捕捉器通道0传输使能/禁止
    PWM_CCR0_CAPIF0 = 4,//捕捉器0中断标志
    PWM_CCR0_CRLRI0 = 6,//捕捉器通道0传输使能/禁止
    PWM_CCR0_CFLRI0 = 7,//CFLR0锁定方向标志位
    PWM_CCR0_INV1 = 16,//通道1反向打开/关闭
    PWM_CCR0_CRL_IE1 = 17,//通道1向上计数中断使能
    PWM_CCR0_CFL_IE1 = 18,//通道1向下计数中断使能
    PWM_CCR0_CAPCH1EN = 19,//捕捉器通道1传输使能/禁止
    PWM_CCR0_CAPIF1 = 20,//捕捉器1中断标志
    PWM_CCR0_CRLRI1 = 22,//CRLR1锁定方向标志位
    PWM_CCR0_CFLRI1 = 23//CFLR1锁定方向标志位
}NU_PWM_CCR0_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_CCR0_T        Bits;
}NU_PWM_CCR0_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CCR4_INV4 = 0,//通道4反向打开/关闭
    PWM_CCR4_CRL_IE4 = 1,//通道4向上计数中断使能
    PWM_CCR4_CFL_IE4 = 2,//通道4向下计数中断使能
    PWM_CCR4_CAPCH4EN = 3,//捕捉器通道4传输使能/禁止
    PWM_CCR4_CAPIF4 = 4,//捕捉器4中断标志
    PWM_CCR4_CRLRI4 = 6,//捕捉器通道4传输使能/禁止
    PWM_CCR4_CFLRI4 = 7,//CFLR4锁定方向标志位
    PWM_CCR4_INV5 = 16,//通道5反向打开/关闭
    PWM_CCR4_CRL_IE5 = 17,//通道5向上计数中断使能
    PWM_CCR4_CFL_IE5 = 18,//通道5向下计数中断使能
    PWM_CCR4_CAPCH5EN = 19,//捕捉器通道1传输使能/禁止
    PWM_CCR4_CAPIF5 = 20,//捕捉器5中断标志
    PWM_CCR4_CRLRI5 = 22,//CRLR5锁定方向标志位
    PWM_CCR4_CFLRI5 = 23//CFLR5锁定方向标志位
}NU_PWM_CCR4_NUM;

typedef struct
{
    __IO NU_REG  INV4:1;
    __IO NU_REG  CRL_IE4:1;
    __IO NU_REG  CFL_IE4:1;
    __IO NU_REG  CAPCH4EN:1;
    __IO NU_REG  CAPIF4:1;
    __I  NU_REG  RESERVE4:1;
    __IO NU_REG  CRLRI4:1;
    __IO NU_REG  CFLRI4:1;
    __I  NU_REG  RESERVE1:8;
    __IO NU_REG  INV5:1;
    __IO NU_REG  CRL_IE5:1;
    __IO NU_REG  CFL_IE5:1;
    __IO NU_REG  CAPCH5EN:1;
    __IO NU_REG  CAPIF5:1;
    __I  NU_REG  RESERVE2:1;
    __IO NU_REG  CRLRI5:1;
    __IO NU_REG  CFLRI5:1;
    __I  NU_REG  RESERVE3:8;
}NU_PWM_CCR4_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_CCR4_Bits  Bits;
}NU_PWM_CCR4_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CCR2_INV2 = 0,//通道2反向打开/关闭
    PWM_CCR2_CRL_IE2 = 1,//通道2向上计数中断使能
    PWM_CCR2_CFL_IE2 = 2,//通道2向下计数中断使能
    PWM_CCR2_CAPCH2EN = 3,//捕捉器通道2传输使能/禁止
    PWM_CCR2_CAPIF2 = 4,//捕捉器2中断标志
    PWM_CCR2_CRLRI2 = 6,//CRLR2锁定方向标志位
    PWM_CCR2_CFLRI2 = 7,//CFLR2锁定方向标志位
    PWM_CCR2_INV3 = 16,//通道3反向打开/关闭
    PWM_CCR2_CRL_IE3 = 17,//通道3向上计数中断使能
    PWM_CCR2_CFL_IE3 = 18,//通道3向下计数中断使能
    PWM_CCR2_CAPCH3EN = 19,//捕捉器通道3传输使能/禁止
    PWM_CCR2_CAPIF3 = 20,//捕捉器3中断标志
    PWM_CCR2_CRLRI3 = 22,//CRLR3锁定方向标志位
    PWM_CCR2_CFLRI3 = 23//CFLR3锁定方向标志位
}NU_PWM_CCR2_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_CCR2_T        Bits;
}NU_PWM_CCR2_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CCR6_INV6 = 0,//通道6反向打开/关闭
    PWM_CCR6_CRL_IE6 = 1,//通道6向上计数中断使能
    PWM_CCR6_CFL_IE6 = 2,//通道6向下计数中断使能
    PWM_CCR6_CAPCH6EN = 3,//捕捉器通道6传输使能/禁止
    PWM_CCR6_CAPIF6 = 4,//捕捉器6中断标志
    PWM_CCR6_CRLRI6 = 6,//捕捉器通道6传输使能/禁止
    PWM_CCR6_CFLRI6 = 7,//CFLR6锁定方向标志位
    PWM_CCR6_INV7 = 16,//通道7反向打开/关闭
    PWM_CCR6_CRL_IE7 = 17,//通道7向上计数中断使能
    PWM_CCR6_CFL_IE7 = 18,//通道7向下计数中断使能
    PWM_CCR6_CAPCH7EN = 19,//捕捉器通道7传输使能/禁止
    PWM_CCR6_CAPIF7 = 20,//捕捉器7中断标志
    PWM_CCR6_CRLRI7 = 22,//CRLR7锁定方向标志位
    PWM_CCR6_CFLRI7 = 23//CFLR7锁定方向标志位
}NU_PWM_CCR6_NUM;

typedef struct
{
    __IO NU_REG  INV6:1;
    __IO NU_REG  CRL_IE6:1;
    __IO NU_REG  CFL_IE6:1;
    __IO NU_REG  CAPCH6EN:1;
    __IO NU_REG  CAPIF6:1;
    __I  NU_REG  RESERVE4:1;
    __IO NU_REG  CRLRI6:1;
    __IO NU_REG  CFLRI6:1;
    __I  NU_REG  RESERVE1:8;
    __IO NU_REG  INV7:1;
    __IO NU_REG  CRL_IE7:1;
    __IO NU_REG  CFL_IE7:1;
    __IO NU_REG  CAPCH7EN:1;
    __IO NU_REG  CAPIF7:1;
    __I  NU_REG  RESERVE2:1;
    __IO NU_REG  CRLRI7:1;
    __IO NU_REG  CFLRI7:1;
    __I  NU_REG  RESERVE3:8;
}NU_PWM_CCR6_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_CCR6_Bits  Bits;
}NU_PWM_CCR6_T;
//----------------------------------------------------//
typedef enum
{
    PWM_POE_PWM0 = 0,//PWM0输出使能寄存器
    PWM_POE_PWM1 = 1,//PWM1输出使能寄存器
    PWM_POE_PWM2 = 2,//PWM2输出使能寄存器
    PWM_POE_PWM3 = 3 //PWM3输出使能寄存器
}NU_PWM_POE_NUM;

typedef enum
{
    PWM_POE03_PWM0 = 0,//PWM0输出使能寄存器
    PWM_POE03_PWM1 = 1,//PWM1输出使能寄存器
    PWM_POE03_PWM2 = 2,//PWM2输出使能寄存器
    PWM_POE03_PWM3 = 3 //PWM3输出使能寄存器
}NU_PWM_POE03_NUM;

typedef volatile union
{
  NU_REG            Regs;
  PWM_POE_T         Bits;
}NU_PWM_POE_T;
//----------------------------------------------------//
typedef enum
{
    PWM_POE47_PWM4 = 0,//PWM4输出使能寄存器
    PWM_POE47_PWM5 = 1,//PWM5输出使能寄存器
    PWM_POE47_PWM6 = 2,//PWM6输出使能寄存器
    PWM_POE47_PWM7 = 3 //PWM7输出使能寄存器
}NU_PWM_POE47_NUM;

typedef struct
{
    __IO NU_REG  PWM4:1;
    __IO NU_REG  PWM5:1;
    __IO NU_REG  PWM6:1;
    __IO NU_REG  PWM7:1;
        __I  NU_REG  RESERVE:28;
}NU_PWM_POE47_Bits;

typedef volatile union
{
  NU_REG            Regs;
  NU_PWM_POE47_Bits Bits;
}NU_PWM_POE47_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CAPENR03_PWM0_PA12 = 0,//捕捉通道0从GPA12输入
    PWM_CAPENR03_PWM1_PA13 = 1,//捕捉通道1从GPA13输入
    PWM_CAPENR03_PWM2_PA14 = 2,//捕捉通道3从GPA14输入
    PWM_CAPENR03_PWM3_PA15 = 3 //捕捉通道4从GPA15输入
}NU_PWM_CAPENR03_NUM;

typedef struct
{
    __IO NU_REG  PWM0_PA12:1;
    __IO NU_REG  PWM1_PA13:1;
    __IO NU_REG  PWM2_PA14:1;
    __IO NU_REG  PWM3_PA15:1;
        __I  NU_REG  RESERVE:28;
}NU_PWM_CAPENR03_Bits;

typedef volatile union
{
  NU_REG               Regs;
  NU_PWM_CAPENR03_Bits Bits;
}NU_PWM_CAPENR03_T;
//----------------------------------------------------//
typedef enum
{
    PWM_CAPENR47_PWM4_PA11 = 0,//捕捉通道4从GPA11输入
    PWM_CAPENR47_PWM5_PA5  = 1,//捕捉通道5从GPA5输入
    PWM_CAPENR47_PWM6_PA0  = 2,//捕捉通道6从GPA0输入
    PWM_CAPENR47_PWM7_PA1  = 3 //捕捉通道7从GPA1输入
}NU_PWM_CAPENR47_NUM;

typedef struct
{
    __IO NU_REG  PWM4_PA11:1;
    __IO NU_REG  PWM5_PA5:1;
    __IO NU_REG  PWM6_PA0:1;
    __IO NU_REG  PWM7_PA1:1;
        __I  NU_REG  RESERVE:28;
}NU_PWM_CAPENR47_Bits;

typedef volatile union
{
  NU_REG               Regs;
  NU_PWM_CAPENR47_Bits Bits;
}NU_PWM_CAPENR47_T;
//----------------------------------------------------//
typedef struct
{
        union{
            __IO NU_PWM_PPR_T    PPR;//PWM0~3或PWM4~7预分频寄存器
            __IO NU_PWM_PPR_T    PPR03;//PWM0~3预分频寄存器
            __IO NU_PWM_PPR47_T  PPR47;//PWM4~7预分频寄存器
        };
        union{
                   __IO NU_PWM_CSR_T    CSR;//PWM0~3或PWM4~7时钟选择寄存器
                   __IO NU_PWM_CSR_T    CSR03;//PWM0~3时钟选择寄存器
                   __IO NU_PWM_CSR47_T  CSR47;//PWM4~7时钟选择寄存器
        };
        union{
            __IO NU_PWM_PCR_T    PCR;//PWM0~3或PWM4~7控制寄存器
            __IO NU_PWM_PCR_T    PCR03;//PWM0~3控制寄存器
            __IO NU_PWM_PCR47_T  PCR47;//PWM4~7控制寄存器
        };
          union{
                   __IO NU_REG_BITs     CNR0;//PWM0计数器寄存器
                   __IO NU_REG_BITs     CNR4;//PWM4计数器寄存器
        };
          union{
            __IO NU_REG_BITs     CMR0;//PWM0比较寄存器
            __IO NU_REG_BITs     CMR4;//PWM4比较寄存器
        };
          union{
            __IO NU_REG_BITs     PDR0;//PWM0数据寄存器
            __IO NU_REG_BITs     PDR4;//PWM4数据寄存器
        };
          union{
            __IO NU_REG_BITs     CNR1;//PWM1计数器寄存器
            __IO NU_REG_BITs     CNR5;//PWM5计数器寄存器
        };
          union{
            __IO NU_REG_BITs     CMR1;//PWM1比较寄存器
            __IO NU_REG_BITs     CMR5;//PWM5比较寄存器
        };
          union{
            __IO NU_REG_BITs     PDR1;//PWM1数据寄存器
            __IO NU_REG_BITs     PDR5;//PWM5数据寄存器
        };
          union{
            __IO NU_REG_BITs     CNR2;//PWM2计数器寄存器
            __IO NU_REG_BITs     CNR6;//PWM6计数器寄存器
        };
          union{
            __IO NU_REG_BITs     CMR2;//PWM2比较寄存器
            __IO NU_REG_BITs     CMR6;//PWM6比较寄存器
        };
          union{
            __IO NU_REG_BITs     PDR2;//PWM2数据寄存器
            __IO NU_REG_BITs     PDR6;//PWM6数据寄存器
        };
          union{
            __IO NU_REG_BITs     CNR3;//PWM3计数器寄存器
            __IO NU_REG_BITs     CNR7;//PWM7计数器寄存器
        };
          union{
            __IO NU_REG_BITs     CMR3;//PWM3比较寄存器
            __IO NU_REG_BITs     CMR7;//PWM7比较寄存器
        };
          union{
            __IO NU_REG_BITs     PDR3;//PWM3数据寄存器
            __IO NU_REG_BITs     PDR7;//PWM7数据寄存器
        };
    __IO NU_PWM_PBCR_T         PBCR;
        union{
      __IO NU_PWM_PIER_T   PIER;//PWM0~3或PWM4~7中断使能寄存器
      __IO NU_PWM_PIER_T   PIER03;//PWM0~3中断使能寄存器
      __IO NU_PWM_PIER47_T PIER47;//PWM4~7中断使能寄存器
        };
        union{
            __IO NU_PWM_PIIR_T   PIIR;//PWM0~3或PWM4~7中断标志寄存器
            __IO NU_PWM_PIIR_T   PIIR03;//PWM0~3中断标志寄存器
            __IO NU_PWM_PIIR47_T PIIR47;//PWM4~7中断标志寄存器
            __IO NU_PWM_PIIR_T   PIFR;//PWM0~3或PWM4~7中断标志寄存器
            __IO NU_PWM_PIIR_T   PIFR03;//PWM0~3中断标志寄存器
            __IO NU_PWM_PIIR47_T PIFR47;//PWM4~7中断标志寄存器
        };
    __I NU_REG           RESERVE1[2];
        union{
            __IO NU_PWM_CCR0_T   CCR0;//捕捉控制寄存器01
            __IO NU_PWM_CCR4_T   CCR4;//捕捉控制寄存器45
            __IO NU_PWM_CCR0_T   CCR1;//捕捉控制寄存器01
            __IO NU_PWM_CCR4_T   CCR5;//捕捉控制寄存器45
            __IO NU_PWM_CCR0_T   CCR01;//捕捉控制寄存器01
            __IO NU_PWM_CCR4_T   CCR45;//捕捉控制寄存器45
        };
        union{
            __IO NU_PWM_CCR2_T   CCR2;//捕捉控制寄存器23
            __IO NU_PWM_CCR6_T   CCR6;//捕捉控制寄存器67
            __IO NU_PWM_CCR2_T   CCR3;//捕捉控制寄存器23
            __IO NU_PWM_CCR6_T   CCR7;//捕捉控制寄存器67
            __IO NU_PWM_CCR2_T   CCR23;//捕捉控制寄存器23
            __IO NU_PWM_CCR6_T   CCR67;//捕捉控制寄存器67
        };
        union{
            __IO NU_REG_BITs     CRLR0;//捕捉上升沿锁存寄存器0
            __IO NU_REG_BITs     CRLR4;//捕捉上升沿锁存寄存器4
        };
        union{
            __IO NU_REG_BITs     CFLR0;//捕捉下降沿锁存寄存器0
            __IO NU_REG_BITs     CFLR4;//捕捉下降沿锁存寄存器4
        };
        union{
                   __IO NU_REG_BITs     CRLR1;//捕捉上升沿锁存寄存器1
                   __IO NU_REG_BITs     CRLR5;//捕捉上升沿锁存寄存器5
        };
        union{
            __IO NU_REG_BITs     CFLR1;//捕捉下降沿锁存寄存器1
            __IO NU_REG_BITs     CFLR5;//捕捉下降沿锁存寄存器5
        };
        union{
                   __IO NU_REG_BITs     CRLR2;//捕捉上升沿锁存寄存器2
                   __IO NU_REG_BITs     CRLR6;//捕捉上升沿锁存寄存器6
        };
        union{
            __IO NU_REG_BITs     CFLR2;//捕捉下降沿锁存寄存器2
            __IO NU_REG_BITs     CFLR6;//捕捉下降沿锁存寄存器6
        };
        union{
            __IO NU_REG_BITs     CRLR3;//捕捉上升沿锁存寄存器3
            __IO NU_REG_BITs     CRLR7;//捕捉上升沿锁存寄存器7
        };
        union{
            __IO NU_REG_BITs     CFLR3;//捕捉下降沿锁存寄存器3
            __IO NU_REG_BITs     CFLR7;//捕捉下降沿锁存寄存器7
        };
        union{
            __IO NU_REG_BITs       CAPENR;//捕捉输入使能寄存器
            __IO NU_PWM_CAPENR03_T CAPENR03;//捕捉输入03使能寄存器
            __IO NU_PWM_CAPENR47_T CAPENR47;//捕捉输入47使能寄存器
        };
        union{
            __IO NU_PWM_POE_T    POE;//PWM输出使能寄存器   
            __IO NU_PWM_POE_T    POE03;//PWM输出03使能寄存器   
            __IO NU_PWM_POE47_T  POE47;//PWM输出47使能寄存器   
        };
}NU_PWM_T;
//----------------------------------------------------//
#define PWM03s    (*((NU_PWM_T *) PWMA_BASE))//定位全局结构变量PWM03s
#define PWM47s    (*((NU_PWM_T *) PWMB_BASE))//定位全局结构变量PWM47s
//----------------------------------------------------//
#define PWM0s    (*((NU_PWM_T *) PWMA_BASE))//定位全局结构变量PWM0s
#define PWM1s    (*((NU_PWM_T *) PWMA_BASE))//定位全局结构变量PWM`s
#define PWM2s    (*((NU_PWM_T *) PWMA_BASE))//定位全局结构变量PWM2s
#define PWM3s    (*((NU_PWM_T *) PWMA_BASE))//定位全局结构变量PWM3s
#define PWM4s    (*((NU_PWM_T *) PWMB_BASE))//定位全局结构变量PWM4s
#define PWM5s    (*((NU_PWM_T *) PWMB_BASE))//定位全局结构变量PWM5s
#define PWM6s    (*((NU_PWM_T *) PWMB_BASE))//定位全局结构变量PWM6s
#define PWM7s    (*((NU_PWM_T *) PWMB_BASE))//定位全局结构变量PWM7s
//----------------------------------------------------//
#define PWMx(x)   ((NU_PWM_T *)  PWMA_BASE   + ((x >> 4) * 0x100000))
//----------------------------------------------------//
(335444677)

出0入0汤圆

发表于 2010-12-16 16:29:31 | 显示全部楼层
以前哪个帐号上不了了---
现在几家大厂都有推广CORTEX-M,比如TI、ST、飞思卡尔、ATMEL、FUJITSU、ENERGY
合泰也有加入,但MO目前只有新唐和NXP,新唐产品系列更全一些,跟8位、16兼容性更好
真正的RAM时代已经到来----
(334951937)

出0入0汤圆

发表于 2010-12-22 09:21:51 | 显示全部楼层
mark
(334949309)

出0入0汤圆

发表于 2010-12-22 10:05:39 | 显示全部楼层
mark!
(334907958)

出0入0汤圆

发表于 2010-12-22 21:34:50 | 显示全部楼层
1月6号 深圳站MO培训报名开始((4小时内学会NuMicoro Cortex-M0,免费赠送开发板一套):
(334834088)

出0入0汤圆

发表于 2010-12-23 18:06:00 | 显示全部楼层
mark
(333822731)

出0入0汤圆

发表于 2011-1-4 11:01:57 | 显示全部楼层
观望,不知是否有仿真器,不太习惯在线调试
(333442731)

出0入0汤圆

发表于 2011-1-8 20:35:17 | 显示全部楼层
打样的板子回来了(一个新产品的)。也买了UN-LINK,今天初步调试,说说感觉。
以前都是看文档,所以没有深入了解,今天搞了半天,
1.解决了第一个问题:PLL配置的时候输入时钟源那里中文文档翻译反了,搞了半天没有反应。。。
2.配置成功后发现48MHz时钟下,软件IO循环取反出来的频率只有1.333MHz。。。太慢了吧,都怀疑是我软件有问题。。。
3.关于开发工具:用IAR+UNLINK没有搞定,就直接ICP编程看结果了,AVR的时候 习惯这样搞。现在LDROM没有预置BOOTLOADER,所以必须要有SWD接口的调试器才能开始开发。AVR开发的时候ISP协议比较简单,我自己DIY了脱机下载器(主要是方便OSCCAL加密),做了几个给生产线批量用。现在M051想搞批量脱机编程器就比较麻烦了。。SWD协议比较复杂呀。
(333383414)

出0入0汤圆

发表于 2011-1-9 13:03:54 | 显示全部楼层
lpc m0这个性能的价格差不多吧

主要是看到新塘没有m3的  比较倾向lpc11的
(333373991)

出0入0汤圆

发表于 2011-1-9 15:40:57 | 显示全部楼层
回复【441楼】zhiwei
打样的板子回来了(一个新产品的)。也买了un-link,今天初步调试,说说感觉。
以前都是看文档,所以没有深入了解,今天搞了半天,
1.解决了第一个问题:pll配置的时候输入时钟源那里中文文档翻译反了,搞了半天没有反应。。。
2.配置成功后发现48mhz时钟下,软件io循环取反出来的频率只有1.333mhz。。。太慢了吧,都怀疑是我软件有问题。。。
3.关于开发工具:用iar+unlink没有搞定,就直接icp编程看结果了,avr的时候 习惯这样搞。现在ldrom没有预置bootloader,所以必须要有swd接口的调试器才能开始开发。avr开发的时候isp协议比较简单,我自己diy了脱机下载器(主要是方便osccal加密),做了几个给生产线批量用。现在m051想搞批量脱机编程器就比较麻烦了。。swd协议比较复杂呀。

-----------------------------------------------------------------------

1。新唐的UN-LINK具备脱机下载的功能,使用ICP,也不算太贵。UN-LINK-ME不具备脱机下载功能。但都支持在片的实时仿真。
2。如果批量,建议直接使用ICP方式,比ISP的bootload方便,占用的I/O个数也相同
(333353236)

出0入0汤圆

发表于 2011-1-9 21:26:52 | 显示全部楼层
我也是这样想的,所以买了UN_LINK,不过有点儿贵。以后再买几个吧。
(332321516)

出0入0汤圆

发表于 2011-1-21 20:02:12 | 显示全部楼层
mark
(332319385)

出0入0汤圆

发表于 2011-1-21 20:37:43 | 显示全部楼层
看看!!
(330450885)

出0入0汤圆

发表于 2011-2-12 11:39:23 | 显示全部楼层
强帖 留名
(330446059)

出0入0汤圆

发表于 2011-2-12 12:59:49 | 显示全部楼层
M3板子还没摸透,唔唔。。
(330445669)

出0入0汤圆

发表于 2011-2-12 13:06:19 | 显示全部楼层
阿莫的电子邮购部怎么不卖PIC的片子呢?
头像被屏蔽
(330445335)

出0入0汤圆

 楼主| 发表于 2011-2-12 13:11:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
(330277442)

出0入0汤圆

发表于 2011-2-14 11:50:06 | 显示全部楼层
希望能出书  
新塘的芯片不错 但是库文件和芯片dataheet看的人想死。I2C看移植例程不通。没办法只能搞IO口模拟的。郁闷!
(329742399)

出0入0汤圆

发表于 2011-2-20 16:27:29 | 显示全部楼层
支持,,
(329740215)

出0入8汤圆

发表于 2011-2-20 17:03:53 | 显示全部楼层
严重期待
(327814766)

出0入0汤圆

发表于 2011-3-14 23:54:42 | 显示全部楼层
不知道是不是第一次留名,但ID却是已经注_册好久了。
(326459107)

出0入0汤圆

发表于 2011-3-30 16:29:01 | 显示全部楼层
LS的,05年注_册以来就发了这一个贴
佩服
(325767061)

出0入0汤圆

发表于 2011-4-7 16:43:07 | 显示全部楼层
LS的,05年注_册以来就发了这一个贴
佩服
潜水很深---出来透口气--
(325767013)

出0入0汤圆

发表于 2011-4-7 16:43:55 | 显示全部楼层
本月杭州站,新唐有一个培训,大家留意下!
(325696372)

出0入0汤圆

发表于 2011-4-8 12:21:16 | 显示全部楼层
mark
头像被屏蔽
(325693139)

出0入0汤圆

发表于 2011-4-8 13:15:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
(324831346)

出0入0汤圆

发表于 2011-4-18 12:38:22 | 显示全部楼层
支持马潮老师
(322748727)

出0入0汤圆

发表于 2011-5-12 15:08:41 | 显示全部楼层
NXP M0 LPC11XX很低价
(321799880)

出50入0汤圆

发表于 2011-5-23 14:42:48 | 显示全部楼层
大吉大利,AVR看来已经完全活过来了,价格比去年低很多,且供货充足。
(321548939)

出0入0汤圆

发表于 2011-5-26 12:25:09 | 显示全部楼层
mark
(321537934)

出0入0汤圆

发表于 2011-5-26 15:28:34 | 显示全部楼层
AVR好像复活了哦
(321528805)

出0入0汤圆

发表于 2011-5-26 18:00:43 | 显示全部楼层
mark
(321363698)

出0入0汤圆

发表于 2011-5-28 15:52:30 | 显示全部楼层
好热闹,MARK
(319911773)

出0入0汤圆

发表于 2011-6-14 11:11:15 | 显示全部楼层
标题党, 大大的标题党, 把我给引过来了
(318668390)

出0入0汤圆

发表于 2011-6-28 20:34:18 | 显示全部楼层
建议专攻CM3
(318104224)

出0入0汤圆

发表于 2011-7-5 09:17:04 | 显示全部楼层
MARK
(317640694)

出0入0汤圆

发表于 2011-7-10 18:02:34 | 显示全部楼层
怎么还搞不搞 M051呢??  希望能火起来
(317638327)

出0入0汤圆

发表于 2011-7-10 18:42:01 | 显示全部楼层
没用过AVR的飘过!!
(317628747)

出0入0汤圆

发表于 2011-7-10 21:21:41 | 显示全部楼层
邮购的M0在还没发...等教程~
(317627184)

出0入0汤圆

发表于 2011-7-10 21:47:44 | 显示全部楼层
跟进~~
(317537688)

出0入0汤圆

发表于 2011-7-11 22:39:20 | 显示全部楼层
是不是产能越落后 要价越高啊
(317536325)

出0入0汤圆

发表于 2011-7-11 23:02:03 | 显示全部楼层
回复【463楼】god-father 教父
大吉大利,avr看来已经完全活过来了,价格比去年低很多,且供货充足。

-----------------------------------------------------------------------

AVR是8位,当做个东西8位有点不合适的话,那么就是32位的。

M051是32位的,如果5元一片,而且功能比AVR还强(5元的价格,AVR也就是M8吧,M16也买不到),8位的市场就会动摇。

此时8位的价格就必须再低,才能与32位的抗衡。

我们左右不了市场的发展,但掌握32位的使用应该早做准备。当你51、AVR、MO51、STM32都会的话,还怕没有吃饭的地方?
(317476356)

出0入0汤圆

发表于 2011-7-12 15:41:32 | 显示全部楼层
关键是AVR已经严重伤害了用户,
以后会不会再一次的。。。?
(316969902)

出50入0汤圆

发表于 2011-7-18 12:22:26 | 显示全部楼层
回复【476楼】machao
avr是8位,当做个东西8位有点不合适的话,那么就是32位的。
m051是32位的,如果5元一片,而且功能比avr还强(5元的价格,avr也就是m8吧,m16也买不到),8位的市场就会动摇。
此时8位的价格就必须再低,才能与32位的抗衡。
我们左右不了市场的发展,但掌握32位的使用应该早做准备。当你51、avr、mo51、stm32都会的话,还怕没有吃饭的地方?
-----------------------------------------------------------------------
个人觉得选MCU还是根据自己的应用跟喜好选择好,如果市场上新出一个片子就去跟风,那会很累的。
当然自己的应用也会不停变化,同时不排除新片子的应用。
当然要去弄新片子,难度也不会很大,因为技术是相通的。
(303815771)

出0入0汤圆

发表于 2011-12-17 18:17:57 | 显示全部楼层
m0这么强,那么有应用的例子吗?,传来看看吧,板子的电路图也秀秀吧
(293971974)

出0入0汤圆

发表于 2012-4-9 16:41:14 | 显示全部楼层
M051確實是要開始學習了
(293969098)

出0入0汤圆

发表于 2012-4-9 17:29:10 | 显示全部楼层
呵呵,顶起!!!!
(293968039)

出0入0汤圆

发表于 2012-4-9 17:46:49 | 显示全部楼层
哈哈,avr搞不搞m051,看来以后就少见avr了。
(292822523)

出0入0汤圆

发表于 2012-4-22 23:58:45 | 显示全部楼层
M0,   这么便宜的ARM啊。。。
(291290268)

出0入0汤圆

发表于 2012-5-10 17:36:20 | 显示全部楼层
哇塞!这个还真是一种潮流呀。我也要做个弄潮儿
(291277773)

出0入0汤圆

发表于 2012-5-10 21:04:35 | 显示全部楼层
原来是生不如死。我还奇怪为什么下结论说AVR已死?非常欣赏32位单片机。
(291268466)

出0入0汤圆

发表于 2012-5-10 23:39:42 | 显示全部楼层
又是一篇讨论精彩的帖子!
(284317104)

出0入0汤圆

发表于 2012-7-30 10:35:44 | 显示全部楼层
学习,顶起来
(282644757)

出0入0汤圆

发表于 2012-8-18 19:08:11 | 显示全部楼层
计划学学M0516
(282283356)

出0入0汤圆

发表于 2012-8-22 23:31:32 | 显示全部楼层
技术变化好快啊。
(282229754)

出0入0汤圆

发表于 2012-8-23 14:24:54 | 显示全部楼层
很久没关注AVR的价格了。。。居然涨的这么可怕
(282229154)

出0入4汤圆

发表于 2012-8-23 14:34:54 | 显示全部楼层
AVR现在还好吗?
(281301578)

出0入0汤圆

发表于 2012-9-3 08:14:30 | 显示全部楼层
AVR死定了,连厂家也是这么认为的.
(281299862)

出0入0汤圆

发表于 2012-9-3 08:43:06 | 显示全部楼层
还好,老大发这个贴子的时候,开始转战M0,AVR早该扔一边去了。
(274888521)

出0入0汤圆

发表于 2012-11-16 13:38:47 | 显示全部楼层
天啊~ 还要购买 NU-LINK 才行?
没办法自制吗?
这个问题不解决, M051永远无法成为气候的.
(270531724)

出0入0汤圆

发表于 2013-1-5 23:52:04 | 显示全部楼层
看这这个片子价格 还是很有诱惑力的呢
(267386191)

出0入0汤圆

发表于 2013-2-11 09:37:37 | 显示全部楼层
强烈支持!
(252777921)

出0入0汤圆

发表于 2013-7-30 11:28:47 | 显示全部楼层
留名,支持马老师
(249988689)

出0入0汤圆

发表于 2013-8-31 18:15:59 | 显示全部楼层
支持
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2021-8-3 03:34

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

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