社区导航

 

搜索
查看: 157|回复: 5

[求助] 串口通信发送的程序编译老是出错

[复制链接]

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-6-27 14:15 | 显示全部楼层 |阅读模式

module UARTMYSELF
(
        input CLOCK,RESET,
        output TXD,
        input iCall,
        output oDone,
        input [7:0]iData
);
        parameter B115K2=9'd434;
        reg[3:0]i;
        reg[8:0]C1;
        reg[10:0]D1;
        reg rTXD;
        reg isDone;
        
        always@(posedge CLOCK or negedge RESET)
        if(!RESET)
                begin
                        i<=4'd0;
                        C1<=9'd0;
                        D1<=11'd0;
                       rTXD<=1'b1;
                        isDone<=1'b0;
                end
        else if(iCall)
                case(i)
                        
                        0:
                        begin 
                        D1<={2'b11,iData,1b'0};
                        i<=i+1'b1;
                        end
                        
                        1,2,3,4,5,6,7,8,9,10,11:
                        if(C1==B115K2-1)begin C1<=9'd0;i<=i+1'b1;end
                        else begin rTXD<=D1[i-1];C1<=C1+1'b1;end//为什么这里i-1不需要写成1'b1
                        
                        12:
                        begin isDone<=1'b1;i<=i+1'b1;end
                        
                        13:
                        begin isDone<=1'b0;i<=4'd0;end
                        
                endcase
                
        assign TXD=rTXD;
        assign oDone=isDone;
        
endmodule

标红字体一直报语法错误,Error (10170): Verilog HDL syntax error at tx_funcmod.v(30) near text "b";  expecting "}"。求问是哪里出了问题。

    

此帖出自FPGA/CPLD论坛


回复

使用道具 举报

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-7-2 15:23 | 显示全部楼层
把小于号去掉再试试


回复

使用道具 举报

28

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-7-2 15:29 | 显示全部楼层

          end
        else if(iCall)
                case(i)
                        
                        0:
                        begin 
                        D1<={2'b11,iData,1'b0};
                        i<=i+1'b1;
                        end
                        
                        1,2,3,4,5,6,7,8,9,10,11:
                        if(C1==B115K2-1)begin C1<=9'd0;i<=i+1'b1;end
                        else begin rTXD<=D1[i-1];C1<=C1+1'b1;end//为什么这里i-1不需要写成1'b1
                        
                        12:
                        begin isDone<=1'b1;i<=i+1'b1;end
                        
                        13:
                        begin isDone<=1'b0;i<=4'd0;end
                        



回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-7-2 18:03 | 显示全部楼层
杭州康芯小马 发表于 2019-7-2 15:29           end         else if(iCall)     &n ...

谢谢!编译通过了,,但是我没看出来你改的哪?。。。尴尬

点评

1‘b1不是1b'1  详情 回复 发表于 2019-7-3 12:43


回复

使用道具 举报

59

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-7-3 12:43 | 显示全部楼层
星星brisk 发表于 2019-7-2 18:03 谢谢!编译通过了,,但是我没看出来你改的哪?。。。尴尬

1‘b1不是1b'1



回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2019-7-4 15:39 | 显示全部楼层

.。。。好的。。谢谢



回复

使用道具 举报

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

关闭

站长推荐上一条 /1 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-7-16 05:53 , Processed in 0.187447 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表