打印
[家电应用]

请中颖版主提供一份 88f516 euart1串口的demo

[复制链接]
2453|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pang7|  楼主 | 2014-5-6 12:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在网站上找到的demo移植过来无法通信 不知道什么原因 请中颖版主提供一份88f516的euart1的demo   是否88系列跟79系列有所不同呢? 79系列的euart0用tr2产生波特率  88f516的 euart1 是自带一个15位的吧  
沙发
summeryu| | 2014-5-29 14:54 | 只看该作者
具体可联络中颖工程师,电话:0755-25181447

使用特权

评论回复
板凳
tsslhqq| | 2014-9-14 14:23 | 只看该作者
小心又被剽窃,要堤防抄袭解密不良之人!

使用特权

评论回复
地板
linlh11| | 2014-9-24 13:16 | 只看该作者
RS485通信的程序有吗?

使用特权

评论回复
5
sszxxm| | 2014-9-27 22:25 | 只看该作者
unsigned char code baudrate1_initval_list[]=
{
        ( 128 + (( 32768 - ( UART_CLK_SOURSE / 16 / 1200 ))/ 256 )), (( 32768 - ( UART_CLK_SOURSE / 16 / 1200 ))% 256 ),
        ( 128 + (( 32768 - ( UART_CLK_SOURSE / 16 / 2400 ))/ 256 )), (( 32768 - ( UART_CLK_SOURSE / 16 / 2400 ))% 256 ),
        ( 128 + (( 32768 - ( UART_CLK_SOURSE / 16 / 4800 ))/ 256 )), (( 32768 - ( UART_CLK_SOURSE / 16 / 4800 ))% 256 ),
        ( 128 + (( 32768 - ( UART_CLK_SOURSE / 16 / 9600 ))/ 256 )), (( 32768 - ( UART_CLK_SOURSE / 16 / 9600 ))% 256 ),
};


//-----------------------------------------------------------------------------
// 串口波特率刷新
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// 初始化串口
//-----------------------------------------------------------------------------
void uart1_init( void )// 初始化串口
{
        switch( commode1 )
        {
                 case 0:                // 自动连续发送方式,要关闭REN接收使能,不接收来自上位机的任何数据,连续盲发
                        SCON1 = 0x40;                // 8位方式,接收开
                        IEN1 |= 0x04;                // 允许USART1中断
                        SBRT1 = baudrate1_initval_list[( baudrate1 * 2 )];
                        SBRT0 = baudrate1_initval_list[( baudrate1 * 2 + 1 )];
                break;

                case 1:                // 命令方式,打开收发使能,来一个命令执行一次,同时发一次数据
                        SCON1 = 0x50;                // 8位方式,接收开
                        IEN1 |= 0x04;                // 允许USART1中断
                        SBRT1 = baudrate1_initval_list[( baudrate1 * 2 )];
                        SBRT0 = baudrate1_initval_list[( baudrate1 * 2 + 1 )];
                break;

                case 2:                                        // 关闭串口1
                        IEN1 &= 0xfb;                // 关闭USART1中断
                break;

                default:
                break;
        }
}

使用特权

评论回复
6
linxianyu77| | 2016-11-4 09:51 | 只看该作者
sszxxm 发表于 2014-9-27 22:25
unsigned char code baudrate1_initval_list[]=
{
        ( 128 + (( 32768 - ( UART_CLK_SOURSE / 16 / 1200 ))/ ...

你好,我遇到一个问题:SH88F54初始化EUART1完后开启中断,只要串口一发送或者接收数据,单片机就复位重启,不知道是哪里的原因,还麻烦指导我一下,我的Q842941030

使用特权

评论回复
7
sszxxm| | 2016-11-16 18:28 | 只看该作者
linxianyu77 发表于 2016-11-4 09:51
你好,我遇到一个问题:SH88F54初始化EUART1完后开启中断,只要串口一发送或者接收数据,单片机就复位重 ...

那就把你的代码贴上来,大家帮你找找原因。

使用特权

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

本版积分规则

11

主题

567

帖子

2

粉丝