打印
[PIC®/AVR®/dsPIC®产品]

PIC10F202 配置问题

[复制链接]
2100|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
niukai19950129|  楼主 | 2019-1-10 17:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我只控制IO口输出高低电平,我的OPTION寄存器应该怎么配置,还有__CONFIG()里面该配置成什么?我在网上找了一个同样的芯片制作流水灯的程序,他的程序里这两个是OPTION=0x00;和__CONFIG(0x0ffb);  我的配置按这样写可以吗?
沙发
淘猫汤姆| | 2019-1-10 17:32 | 只看该作者
新的xc已经不推荐这种看不出意思的写法了。

使用特权

评论回复
板凳
淘猫汤姆| | 2019-1-10 17:33 | 只看该作者
跟上脚步啊,用#pragma FOSC = FRC  这种类似的写法。IDE或者mcc都能帮你生成这种代码

使用特权

评论回复
评论
niukai19950129 2019-1-17 10:31 回复TA
我用的MALAB X,第一次弄这个,不太了解 
地板
mzb2012| | 2019-1-10 22:10 | 只看该作者
我汇编里熔丝位,都这么写, __CONFIG  _IntRC_OSC & _WDTE_OFF & _CP_OFF & _MCLRE_OFF
弄过3LED流水灯

使用特权

评论回复
5
antusheng| | 2019-1-10 23:34 | 只看该作者
对,看新版的说明。

使用特权

评论回复
6
aqawasaz| | 2019-1-11 10:28 | 只看该作者
我都是直接对相应的寄存器操作。

使用特权

评论回复
7
niukai19950129|  楼主 | 2019-1-22 18:25 | 只看该作者
淘猫汤姆 发表于 2019-1-10 17:33
跟上脚步啊,用#pragma FOSC = FRC  这种类似的写法。IDE或者mcc都能帮你生成这种代码 ...

能帮我看看我写的程序吗?哪里有问题

mmexport1548152647212.jpg (104.87 KB )

mmexport1548152647212.jpg

使用特权

评论回复
8
淘猫汤姆| | 2019-1-22 18:36 | 只看该作者
想让别人帮你验证一下好歹贴个文本的代码,难道大家自己敲一遍?

使用特权

评论回复
评论
niukai19950129 2019-1-23 08:57 回复TA
好的,不好意思哈 #include <stdio.h> #include <stdlib.h> #include <pic.h> #include <pic10f202.h> #define spimosi GP2 //master out slave in #define spimiso GP3 //master in slave out #define spiclk GP1 #define spics GP0 int main(int argc, char** argv) { int i; unsigned int Dt_A6_Data=0; Port_Init(); Dt_A6_Data=0x3129; spics =0; SendByte(Dt_A6_Data); delay(10); spics =1; return (EXIT_SUCCESS); } void SendByte(unsigned ...  
9
xzxsxdxc| | 2019-1-22 19:18 | 只看该作者
没这么用过,不清楚,帮顶下。

使用特权

评论回复
10
niukai19950129|  楼主 | 2019-1-23 08:58 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <pic.h>
#include <pic10f202.h>
#define   spimosi  GP2  //master out slave in
#define   spimiso  GP3  //master in slave out
#define   spiclk   GP1
#define   spics    GP0
int main(int argc, char** argv) {
    int i;
    unsigned int Dt_A6_Data=0;
    Port_Init();
        Dt_A6_Data=0x3129;
        spics =0;
        SendByte(Dt_A6_Data);
        delay(10);
        spics =1;
    return (0);
}

void SendByte(unsigned int Dbyte)
{
    unsigned char i;
    for(i=0;i<16;i++)
    {
        spiclk =0;
        if((Dbyte&0x8000)==0x0000)
        {
            spimosi =0; delay(2);
        }else
        {
            spimosi =1; delay(2);
        }
        spiclk =1; delay(2);
        Dbyte<<=1;
       
    }
    delay(2); spiclk =0; spimosi =0; delay(3);
}
void Port_Init()
{
    TRIS=0x00;
    FOSC4=0;
    OPTION=0x00;
}

使用特权

评论回复
评论
niukai19950129 2019-1-23 08:59 回复TA
@淘猫汤姆 麻烦您给看下 
11
systemchip| | 2019-1-23 10:19 | 只看该作者
main loop里面没有主循环的???

使用特权

评论回复
12
Superflash213| | 2019-1-23 12:09 | 只看该作者

嵌入式的main函数也是不需要参数滴

使用特权

评论回复
13
niukai19950129|  楼主 | 2019-1-23 14:25 | 只看该作者
systemchip 发表于 2019-1-23 10:19
main loop里面没有主循环的???

是在最后加上while(1)吗

使用特权

评论回复
14
niukai19950129|  楼主 | 2019-1-23 14:26 | 只看该作者
Superflash213 发表于 2019-1-23 12:09
嵌入式的main函数也是不需要参数滴

哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动

使用特权

评论回复
15
大卫颂| | 2019-1-23 14:36 | 只看该作者
niukai19950129 发表于 2019-1-23 14:26
哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动

建议尝试X IDE+MCC自动生成项目的看看.
也只是需要点一点鼠标, 配置字, IO口方向, 主函数等等都自动帮你做好了..
摸索摸索, 非常容易上手的.

使用特权

评论回复
16
niukai19950129|  楼主 | 2019-1-23 14:41 | 只看该作者
大卫颂 发表于 2019-1-23 14:36
建议尝试X IDE+MCC自动生成项目的看看.
也只是需要点一点鼠标, 配置字, IO口方向, 主函数等等都自动帮你 ...

好的,我去了解下

使用特权

评论回复
17
Superflash213| | 2019-1-23 14:49 | 只看该作者
niukai19950129 发表于 2019-1-23 14:26
哦哦,这个好像是MPLAB创建工程时候自动出来的,我也就没动

工程建好后,在项目树的Source Files上点鼠标右键选New->main.c..生成的main函数是不带参数的,如果选C Main File...那么生成的main函数是带参数的

使用特权

评论回复
18
niukai19950129|  楼主 | 2019-1-23 14:52 | 只看该作者
Superflash213 发表于 2019-1-23 14:49
工程建好后,在项目树的Source Files上点鼠标右键选New->main.c..生成的main函数是不带参数的,如果选C M ...

原来是这样,学到了

使用特权

评论回复
19
niukai19950129|  楼主 | 2019-1-23 14:55 | 只看该作者
niukai19950129 发表于 2019-1-23 14:52
原来是这样,学到了

那按我贴的代码那么写,会产生问题吗?

使用特权

评论回复
20
Superflash213| | 2019-1-23 15:16 | 只看该作者
niukai19950129 发表于 2019-1-23 14:55
那按我贴的代码那么写,会产生问题吗?

主函数不能return的,就是死也要死在函数里面,程序最后加个while(1)吧。另外你用的什么C编译器?

使用特权

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

本版积分规则

3

主题

17

帖子

0

粉丝