[家电应用] 请中颖版主提供一份 88f516 euart1串口的demo

[复制链接]
2928|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通信的程序有吗?
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;
        }
}
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
sszxxm 发表于 2016-11-16 18:28 | 显示全部楼层
linxianyu77 发表于 2016-11-4 09:51
你好,我遇到一个问题:SH88F54初始化EUART1完后开启中断,只要串口一发送或者接收数据,单片机就复位重 ...

那就把你的代码贴上来,大家帮你找找原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

568

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部