本帖最后由 众想@刘洋 于 2018-9-20 10:42 编辑 剑齿虎STM8视频教程分为【库函数】和【寄存器】两个版本,前8讲是一样的,都是讲的基础环境搭建,从第9讲开始区分库函数版和寄存器版。) w4 l; t ?3 J/ b/ e6 J8 \ 1-8讲视频可点击下面链接查看:' \% A+ s) E; G# f https://www.stmcu.org.cn/module/forum/thread-606881-1-1.html$ {4 w8 N* `: m1 }# v: ^# i 前言-STM8单片机视频介绍: y0 d, h. i- ^ x& @/ J1 {0 `/ m 第09讲 STM8芯片内部结构(上), d/ O! \4 H4 c ' D$ c$ e: g7 B! n X( d, j7 K8 z" ~ 第09讲 STM8芯片内部结构(下)$ ?4 g; [2 V& `5 m 第10讲 STM8芯片手册与引脚标识介绍 8 H$ D: J6 m1 d6 Y 第11讲 发光二极管的原理与应用(上) ' x) s' C" u2 j 第11讲 发光二极管的原理与应用(下) ; m- a2 p6 |8 h( b- g* ^; Q$ I( c 第12讲 通用输入输出GPIO寄存器配置- u% g L0 Z% y! y * Q5 G, o+ ?# A! C3 r/ g5 k 第13讲 点亮第一个LED发光二极管1 v8 }1 T8 u. [; R6 K. e ) \; s. k/ m! [ 第14讲 创建自己的STM8工程模版(上) 第14讲 创建自己的STM8工程模版(下) 第15讲 STM8单片机时钟源选择和时钟树配置 $ P g( [; C# e6 I0 E- q/ Q3 `5 s 第16讲 创建STM8延时函数完善工程模版; y- _' ?8 h/ z3 ` S 第17讲 键盘分类与独立键盘检测(上)# G* z+ |8 N4 |) }0 Z 第17讲 键盘分类与独立键盘检测(下)1 g; C/ C3 W9 V' z. @ 8 ~( H5 p( P+ I, [4 O 第18讲 独立键盘实验--长短键盘检测7 f6 {) Q' r3 j6 t0 U. _# X 第19讲 独立键盘实验--控制花样流水灯* c+ G/ S" m: X 第20讲 光耦隔离继电器原理与实验(上)+ Y6 G; f2 g0 Q3 j5 B 8 b" A2 u0 ~! F& ` r8 [1 Q: c 第20讲 光耦隔离继电器原理与实验(下)8 d- c" @2 v$ l! N1 K5 k # |+ D# k0 a5 W; x8 q 第21讲 触摸键盘原理与检测 第22讲 中断概念与STM8中断分类(上)- ]% @# f$ K: K 第22讲 中断概念与STM8中断分类(下) 第23讲 STM8中断优先级(上) a p# R5 t1 n( W% g+ F 第23讲 STM8中断优先级(下)1 A8 i, G: K+ ` 3 G# q8 w# z+ j 第24讲 STM8外部中断寄存器介绍) d; g) C. E+ C. _; W1 g/ A- j 第25讲 STM8外部中断实验( K# H2 Z. \+ D& p; J 第26讲 STM8外部中断优先级实验; V# i3 u3 w' K* Y0 C% q & K& q$ Q6 T" G! C, T8 H4 w& l 第27讲 STM8最高级别的硬件中断TLI实验5 K8 S. y; J$ S. p1 i 5 b1 }4 a2 I; y& H* \8 y 第28讲(上) 单片机串口原理与应用 $ l# C" Y J6 o$ w# a 第28讲(下) 单片机串口原理与应用8 W+ o2 |) G& n 第29讲(上) STM8串口通讯寄存器配置) |, U( y2 w. y) B0 u5 [ $ i' K- h' ]# v" @, S4 S 第29讲(下) STM8串口通讯寄存器配置9 r8 u/ p& h7 J" ] e( i: U7 n1 {0 k; C 第30讲(上) STM8单片机RS232串口通讯实验8 P. J7 p/ v, N) k 第30讲(下) STM8单片机RS232串口通讯实验 ' H6 }9 h0 O. m: p! ^ 第31讲 STM8单片机RS232串口收、发字符串通讯实验 ; @) k1 l. Y* D6 ~+ F# c& z 第32讲 STM8单片机RS485串口收、发字符串通讯实验 ( l. S- w. @) v J 第33讲 加入Printf串口打印函数完善工程模版 % P) ~% ^- _/ N3 G% C 陆续更新会在下面评论留言中 @: W) N! G8 }: P: k3 u! D 9 b( `* [2 w1 M7 r$ F0 [/ Y) ^ / m/ m2 m- r3 i( x8 K 5 G/ w# d8 l' n/ ^3 f3 I1 r ( f9 Z# V6 S* n: D# c' c 8 \4 t' V( V$ v8 I |
3 n: e$ P1 L* Z p
第二种方式是使用查询的方式,然后定义时间间隔 ,我使用TIM4定时器定时1ms,开定时器中断,程序可以进入中断,如果前后两个字节的时间大于2ms ,证明一帧接收完成了(同样的逻辑在STM32上用过,没问题),main 函数中的
while(1)
{; O( x1 f3 k+ T9 M
if(UART1->SR & 0x20 == 0x20 || UART1->SR & 0x10 == 0x10 ||UART1->SR & 0x08 == 0x08)( p+ D5 }' @4 ^6 x! \
{- j9 ^2 b3 ?. i8 p3 w0 B
程序走到这里就说明接收一个字节,但是程序走不到这里,而且程序停止的时候,接收慢标志和溢出标志位均为1,想知道为啥进不来?7 T; o5 u3 | i& [8 g7 O( U
}
}
启动USART功能后 对应的引脚自动配置了,大部分都是自动配置的 我们视频教程讲了 寄存器视频教程也有课程对应的例程,实验课解压后都有,理论课没有