本帖最后由 众想@刘洋 于 2018-9-20 10:42 编辑 & q, R8 G V0 O6 H 剑齿虎STM8视频教程分为【库函数】和【寄存器】两个版本,前8讲是一样的,都是讲的基础环境搭建,从第9讲开始区分库函数版和寄存器版。0 X' {7 W( j) ]. l' M+ G5 B 1-8讲视频可点击下面链接查看:% }7 a# X! J) ]3 E" Z$ F3 H https://www.stmcu.org.cn/module/forum/thread-606881-1-1.html. D* T+ p5 w. i( m' P' G5 b5 L5 H( J- N 前言-STM8单片机视频介绍. s) n( C. F: s& w9 W6 k) I+ w ' M. `: R3 O5 a/ ^9 h+ [" n' l 第09讲 STM8芯片内部结构(上) n. a' W+ j: }8 C 第09讲 STM8芯片内部结构(下)5 T% ^3 P$ }% ] 1 p6 {9 L9 s: ]4 U6 n: j9 P: K 第10讲 STM8芯片手册与引脚标识介绍" S1 e+ h, ? o, S7 M( g' Z' z* \' } 第11讲 发光二极管的原理与应用(上)7 s. c) y' Q- H/ V9 Y. y 第11讲 发光二极管的原理与应用(下). m7 P; b6 o2 W$ H) B / d4 h3 ?) ~; B" f1 f( \( }9 h 第12讲 通用输入输出GPIO寄存器配置 , ~( G7 \! e* `9 g5 S 第13讲 点亮第一个LED发光二极管) N" P! @! \$ E' ]2 H ) D+ l8 g# z, Z m' S 第14讲 创建自己的STM8工程模版(上) 第14讲 创建自己的STM8工程模版(下)3 m+ z& K7 {' E. m- I ) m2 a$ M" c% } 第15讲 STM8单片机时钟源选择和时钟树配置 : U' {- f8 @' ]/ P; } 第16讲 创建STM8延时函数完善工程模版 ' e8 _9 I* X; Q. t. e; S4 T1 ? 第17讲 键盘分类与独立键盘检测(上)/ ]# R; a/ Q \4 N4 k 第17讲 键盘分类与独立键盘检测(下) 第18讲 独立键盘实验--长短键盘检测 第19讲 独立键盘实验--控制花样流水灯 / M' F) w9 p7 ~$ O8 s: @ 第20讲 光耦隔离继电器原理与实验(上)6 I( C: n1 F$ T( H9 U 第20讲 光耦隔离继电器原理与实验(下)7 V; h4 i$ G K! r% Z 4 p! \$ I- n: r1 S- r# Q9 B 第21讲 触摸键盘原理与检测+ o$ w1 B; z: K/ d 2 k4 [% X1 {6 ~) i6 G% }( ^2 I7 L+ b 第22讲 中断概念与STM8中断分类(上) * f# D9 C; S4 ^& L- y# H 第22讲 中断概念与STM8中断分类(下), j: t/ q q" z, ^ d; n0 h/ Q 第23讲 STM8中断优先级(上) 3 r- ^: ?) K; [! l; |7 B 第23讲 STM8中断优先级(下)( q2 F0 f' C. e2 c+ w9 ] 6 G8 V6 ^) ]" q" E1 n, y 第24讲 STM8外部中断寄存器介绍 第25讲 STM8外部中断实验 第26讲 STM8外部中断优先级实验- r" A! n' l3 e% ]: f 第27讲 STM8最高级别的硬件中断TLI实验 ' Q8 z7 e6 g5 ]' {2 m7 `, E) A9 j& u 第28讲(上) 单片机串口原理与应用 6 v6 U3 ^; W; s3 O' Z 第28讲(下) 单片机串口原理与应用; H) _$ n) M; q N( G5 ^ J+ R- L7 i' e3 N5 }& l 第29讲(上) STM8串口通讯寄存器配置 7 [% E0 s' e0 |5 N) N, \0 l4 F 第29讲(下) STM8串口通讯寄存器配置# @+ r% @: q' `/ h) ^% t 第30讲(上) STM8单片机RS232串口通讯实验 5 c* A1 l" F6 O' I( d! Y 第30讲(下) STM8单片机RS232串口通讯实验+ P" u' ]0 O* b/ r. u# z- C 第31讲 STM8单片机RS232串口收、发字符串通讯实验 # Z/ E; d( G8 `- |0 Z " P1 E" ~" `& |3 y1 z4 A6 z9 T 第32讲 STM8单片机RS485串口收、发字符串通讯实验 第33讲 加入Printf串口打印函数完善工程模版 陆续更新会在下面评论留言中 % u, P* O: `& G( h * t8 g7 r. D; \( L) V ' v+ W# D C* i . z% z5 N) y* y# {0 G2 B; u # J3 _4 ]' J$ n d* x K3 E2 e5 p* f g |
第二种方式是使用查询的方式,然后定义时间间隔 ,我使用TIM4定时器定时1ms,开定时器中断,程序可以进入中断,如果前后两个字节的时间大于2ms ,证明一帧接收完成了(同样的逻辑在STM32上用过,没问题),main 函数中的
while(1)
{
if(UART1->SR & 0x20 == 0x20 || UART1->SR & 0x10 == 0x10 ||UART1->SR & 0x08 == 0x08)/ i* I) M# f) \! |
{3 L8 o: j# R; ~/ l" E8 K" G; Y) ]
程序走到这里就说明接收一个字节,但是程序走不到这里,而且程序停止的时候,接收慢标志和溢出标志位均为1,想知道为啥进不来?
}5 X* \& D$ u- k, ], F
}
启动USART功能后 对应的引脚自动配置了,大部分都是自动配置的 我们视频教程讲了 寄存器视频教程也有课程对应的例程,实验课解压后都有,理论课没有