7373|23

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

帮我看看USART发送的数据对吗 [复制链接]

我把USART配置成同步模式,在while中不停发送0xf8,RX出来的波形这样,请问数据对吗,
// USART1 in synchro-mode
usart_init_struct.USART_BaudRate = USART_BR;
usart_init_struct.USART_WordLength = USART_WordLength_8b;
usart_init_struct.USART_StopBits = USART_StopBits_1;
usart_init_struct.USART_Parity = USART_Parity_No;
usart_init_struct.USART_Mode = USART_Mode_Tx;
usart_init_struct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_Init(USART1, &usart_init_struct);
usart_clock_init_struct.USART_Clock = USART_Clock_Enable;
   usart_clock_init_struct.USART_CPOL = USART_CPOL_Low;
   usart_clock_init_struct.USART_CPHA = USART_CPHA_1Edge;
   usart_clock_init_struct.USART_LastBit = USART_LastBit_Enable;
USART_ClockInit(USART1, &usart_clock_init_struct);

scope_0.png (50.87 KB)

黄色是数据 蓝色是时钟

scope_0.png

此帖出自stm32/stm8论坛

最新回复

                                 谢谢大家的帮忙   好像我的液晶不能用USART驱动   改成IO模拟就成功了  详情 回复 发表于 2010-5-20 11:31
点赞 关注
 

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 同志们帮帮忙啊   谢谢了
此帖出自stm32/stm8论坛
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 我是想用串口同步驱动液晶
此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 似乎错位了?
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 怎么发送的?  为什么是在RX上出来信号?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
不好意思   应该是TX上的
这样发送的
void LCD_SendCommand(unsigned char uc_data)
{
        unsigned char i = 0;
        unsigned char t = 0;

        for(i=0;i<8;i++)
        {
                if(((1<<i)&uc_data))
                t|=(1<<(7-i));       
        }  

        while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
        USART_SendData(USART1, t<<1);
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 请问这样对吗
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 USART_SendData()函数如何定义,为什不是直接发送uc_data,而是发送处理后的t,不太理解楼主这样做的目的是什么?
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 你这for循环在倒腾什么呢?你最好在调用USART_SendData之前或之后设置一个断点,看看变量t到底是什么数值。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 因为那个液晶的数据正好和USART发送的数据时序相反  比如我直接发0x8f  出来就是0x1f
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 从示波器的波形上看,你发送的数据是0xF8。不知道你发送的是什么数据。
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 怎么看出是F8的  我发送的就是F8啊  还请指点一下啊
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
你的0xF8经过for循环倒腾变成了0x1F,再经过USART_SendData(USART1, t<<1)的左移变成了0x3E,这才是信号线上看到的。

你在调用USART_SendData之前或之后设置断点,看到变量t到底是什么数值?
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

14
 
                                 我在调用USART_SendData之前设置断点  t=0x1F
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 
                                 这就对了,13楼已经说过,信号线上出现的是0x3E,即0x1F<<1
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

16
 
                                 怎么看出是0x3E的   请教一下
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

17
 
怎么看出是0x3E的   请教一下
看看时钟信号上升沿对应的数据电平,不就知道了?!
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

18
 
                                 这样看的话   不是0x7A吗   怎么是0x3E啊、
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

19
 
                                 难道是倒序看吗   还是不怎么理解版主的说法
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

20
 
                                 对于串口,是低位LSb先发送
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表