3744|7

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

通讯问题 [复制链接]

请问高手,ST7单片机如何发送数据?
C语言写发送数据程序如何写?谢谢!
此帖出自stm32/stm8论坛

最新回复

                                 谢谢你的回复!   详情 回复 发表于 2007-7-15 18:20
点赞 关注
 

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

ST7单片机如何发送数据?发到哪里?什么通道?

                                 也不说清楚一点。
此帖出自stm32/stm8论坛
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

请说明是哪一款的ST7单片机,不同的ST7单片机有不同的通讯

                                 我们不是也不想成为您肚子里的蛔虫  ^_^
此帖出自stm32/stm8论坛
 
 

回复

17

帖子

0

TA的资源

一粒金砂(初级)

4
 

看来我们要规范一下发帖提问的标题了

                                 这样可以节省大家的时间,提高问题答复效率
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 

很多事如果能站在对方的角度想一想,其实很容易

就楼主这个问题,如果我反问他,他又做何回答呢?

另外,在ST MCU的版面上清楚地标明“★ 提问题时请写明ST相关产品的编号;发言前请先在“分类阅读区”看看有无相关内容 ★”,而且是使用了不同的颜色,就是希望能引起大家的注意,但好像被很多人忽略。

要是有“读心术”就好了。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 

补充

我以后发贴子一定注意.单片机型号是ST72F324J6.
我是这么做的:
while(1)
{SCISR;
 SCIDR=9;
 for(i=0;i<25;i++)
  for(j=0;j<200;j++)
         ;
   readkey();        //读按键
 }
初始化: 
   ClrBit(PEDDR,0);
    ClrBit(PEDDR,1);
    ClrBit(PEOR,0);
    ClrBit(PEOR,1);

    SCIBRR = 0xdb;        //d2 PLL *2 19200 bauds TX RX Fcpu=8MHz c9 bauds=38400,db bauds=9600
    
    ClrBit(SCICR1,M);
    ClrBit(SCICR1,SCID);    // SCI on
    ClrBit(SCICR1,PCE);    // Parity Control Enable
    SetBit(SCICR1,PS);    //Odd parity
    
    ClrBit(SCICR2,TIE);
    ClrBit(SCICR2,TCIE);
    ClrBit(SCICR2,RIE);
    ClrBit(SCICR2,RE);

    SetBit(SCICR2,TE);
    SetBit(SCICR2,RIE);    //Receiver interrupt enable
    SetBit(SCICR2,RE);    //Receiver Enable
程序烧好以后,在单片机的发送脚上测不出波形.请高手指教.
谢谢!
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 

看得挺别扭的

SCICR2用那么多clrbit,先直接清个零不就行了。
我贴一段代码你自己对照寄存器的的先后顺序看如何配置实现发送吧:
;16MHzOSC  Fosc=16MHz ;Fosc2=8MHz ;PLL Close

;----------------------------
;Serial Communication Initialization
;Bps: 9600bps 
.SCI_Init
    CLR   SCICR1  
    CLR   SCICR2  
    LD    A,SCISR  ;Clear Flag
    LD    A,SCIDR 
    LD    A,#0 
    LD    SCIETPR,A          
    LD    A,#0    
    LD    SCIERPR,A
    LD    A,#$0D2     ;9600
    ;LD    A,#$       ;38400
    LD    SCIBRR,A
    LD    A,#0        ;8bit
    LD    SCICR1,A             
    LD    A,#$08      
    LD    SCICR2,A
    RET

;-------------------------------
;Serial Send Funication
.SCI_Tx
    LD    SCIDR,A 
.SCI_Wait
    BTJF  SCISR, #7, SCI_Wait    
    RET    

调用的时候参数送到A,像下面的一样:

.Debug_Battery_1    
    LD A, #$AA
    CALL SCI_Tx    
    LD A, Voltage_1_H
    CALL SCI_Tx
    LD A, Voltage_1_No_Counter
    CALL SCI_Tx
    LD A, Voltage_1_Yes_Counter
    CALL SCI_Tx
    LD A, PWM_1_Pulse
    CALL SCI_Tx
    LD A, Battery_1_Status    
    CALL SCI_Tx
    LD A, Temperature_1
    CALL SCI_Tx
    LD A, Temperature_1_Counter        
    CALL SCI_Tx
    LD A, Temperature_1_OverProt_Counter        
    CALL SCI_Tx
    LD A, Battery_1_RTC_H
    CALL SCI_Tx
    LD A, Battery_1_RTC_L
    CALL SCI_Tx  
    LD A, Voltage_1_Check_Counter
    CALL SCI_Tx      
    LD A, LED_1_Value
    CALL SCI_Tx
    LD A, LED_1_Flash
    CALL SCI_Tx
    RET        

上面得代码是我以前在ST72F324K4B6上用过的。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 

谢谢

                                 谢谢你的回复!
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表