cs5463与51单片机
答案:4 悬赏:0 手机版
解决时间 2021-11-26 15:21
- 提问者网友:临风不自傲
- 2021-11-26 06:17
cs5463与51单片机
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-11-26 07:14
我在做任务请你理解
全部回答
- 1楼网友:梦中风几里
- 2021-11-26 10:40
你想问什么?
- 2楼网友:孤独的牧羊人
- 2021-11-26 09:10
刘亦菲挺漂亮的不是吗
- 3楼网友:等灯
- 2021-11-26 08:51
呃……
程序看完了 有什么问题吗追问你看我这发送函数发送数组给上位机有问题没追答com_init(); 是串口初始化 只需要一次就行了 也就是说应该放在while(1)前面
init_5463(); 这个应该是5463的初始化了 我没用过这个 所以不知道是不是每次都需要初始化 如果也是只需要一次那么也应该放在while(1)前面
void send(a) 里面a是什么? 如果是函数带参的话最好把类型加上去 但是里面又有一句 a=rec_data[i]; SBUF=a; 也就是说a并不是这个函数的输入参数 在调用时a无论为多少发送的都是rec_data[i]这个数组所以直接用void send(void) 就行了 里面直接用 SBUF =rec_data[i]; 即可 发送时也不需要关闭串口中断吧
你在串口中加了一个标志位 感觉没什么必要 感觉有点多余追问 1. 串口中断,有发送中断和接收中断,if(TI==1)这一句判断是发送中断。
2. void send(a) 这个是有问题。主函数里发送数据时你看这样写合适不:
read_5463(寄存器A);
send(void) ;
read_5463(寄存器...);
send(void) ;
3.资料说的是为了保证串口接口同步,所以需要重新初始化串口追答
程序看完了 有什么问题吗追问你看我这发送函数发送数组给上位机有问题没追答com_init(); 是串口初始化 只需要一次就行了 也就是说应该放在while(1)前面
init_5463(); 这个应该是5463的初始化了 我没用过这个 所以不知道是不是每次都需要初始化 如果也是只需要一次那么也应该放在while(1)前面
void send(a) 里面a是什么? 如果是函数带参的话最好把类型加上去 但是里面又有一句 a=rec_data[i]; SBUF=a; 也就是说a并不是这个函数的输入参数 在调用时a无论为多少发送的都是rec_data[i]这个数组所以直接用void send(void) 就行了 里面直接用 SBUF =rec_data[i]; 即可 发送时也不需要关闭串口中断吧
你在串口中加了一个标志位 感觉没什么必要 感觉有点多余追问 1. 串口中断,有发送中断和接收中断,if(TI==1)这一句判断是发送中断。
2. void send(a) 这个是有问题。主函数里发送数据时你看这样写合适不:
read_5463(寄存器A);
send(void) ;
read_5463(寄存器...);
send(void) ;
3.资料说的是为了保证串口接口同步,所以需要重新初始化串口追答
串口中断,if(TI==1)这一句判断是发送中断。但是你不是在发送前关闭了串口中断吗
void send(a)
在定义时写成void send(void) 在调用时写成 send();就行了重新初始化串口这个我到现在还没有听说过 不过这么写对于程序应该是没有问题的 只是消耗了一点 cpu而已 不影响
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯